如果我有一个字符串,如SMITH 9-2 #3-10H13,如何使用C#将9-2修改为09-02?另一个例子是RODGER 3-1 #5-11H17将是RODGER 03-01 #5-11H17。另一个是GWIN 10-3 #6-11H12将是GWIN 10-03 #6-11H12。以此类推。我很困惑。
发布于 2012-01-05 16:54:48
不是最漂亮的代码,但给你
String text = "SMITH 9-2 #3-10H13";
String[] values = text.Split(' ');
String v = values[1];
String[] numbers = v.Split('-');
String newValue = numbers[0].PadLeft(2, '0') + '-' + numbers[1].PadLeft(2, '0');
String newText = text.Replace(" " + values[1] + " ", " " + newValue + " ");发布于 2012-01-05 16:56:05
下面是一种使用Split和Join来实现它的方法
string str = "SMITH 9-2 #3-10H13";
string[] parts = str.Split(' ');
string[] numbers = parts[1].Split('-');
parts[1] = string.Join("-", numbers.Select(x => x.PadLeft(2, '0')));
string result = string.Join(" ", parts);发布于 2012-01-05 16:47:45
可能是最安全的方法:
构造一个正则表达式来匹配所讨论的字符串的部分。使用匹配在字符串上运行替换。
https://stackoverflow.com/questions/8746177
复制相似问题