删除逗号分隔字符串中值的第一个字符
本文关键字:第一个 字符 字符串 分隔 删除 | 更新日期: 2023-09-27 18:13:45
我在应用程序
中有以下逗号分隔的字符串string s= "01334644,1376673,1378437,01499972,1507527,01522373,01551596";
我想删除字符串中每个值的第一个字符。如果是0
最后我需要一个像这样的字符串
string s = "1334644,1376673,1378437,1499972,1507527,1522373,1551596"; // out put string 1
您可以使用String.Split
获取所有令牌,TrimStart('0')
删除前导零,String.Join
再次用逗号连接最后的字符串:
string s= "01334644,1376673,1378437,01499972,1507527,01522373,01551596";
s = string.Join(",", s.Split(',').Select(str => str.TrimStart('0')));
…删除第一个字符…
如果您不想删除所有前导零,但只在最大值处删除一个:
s = string.Join(",", s.Split(',')
.Select(str => str.StartsWith("0") ? str.Substring(1) : str));
您可以直接在源字符串中删除前面加逗号的所有0:
string s2 = s.Replace(",0", ",").TrimStart('0')
你可以这样做:
string s = "01334644,1376673,1378437,01499972,1507527,01522373,01551596";
String result = String.Join(",", s.Split(',')
.Select(c => Convert.ToInt32(c).ToString()));
将值转换为int并返回到String:
var values = s.Split(',').Cast<int>();
s = string.Join(",", values);
string s= "01334644,1376673,1378437,01499972,1507527,01522373,01551596";
var str = string.Join(",", s.Split(',').Select(strCheck => strCheck.StartsWith("0") ? strCheck.Substring(1) : strCheck));
string[] str = null;
string s = "01334644,1376673,1378437,01499972,1507527,01522373,01551596";
str = s.Split(",");
s = "";
for (int i = 0; i <= str.Length - 1; i++) {
s = s + Conversion.str(i).Substring(1) + " ,";
}
// to avoid the last comma
Interaction.MsgBox(s.Trim(","));
正则表达式呢?
string s = "01334644,1376673,1378437,01499972,1507527,01522373,01551596";
string result = Regex.Replace(s, @"0*('d+)", "$1");
0*
表示任意数量的零,'d+
表示一个或多个数字,( )
表示组成一个组,我们可以用$1
调用。
经过测试,我认为,甚至可以很好地使用"00,000001972000,000"
这样的字符串。