删除逗号分隔字符串中值的第一个字符

本文关键字:第一个 字符 字符串 分隔 删除 | 更新日期: 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"这样的字符串。