C# 去除字符串前面的0,不转类型
时间: 2024-09-19 08:16:00 浏览: 91
在C#中,如果你想去除字符串表示的数字前面的零但不想改变其数值形式(即保持原样,不是转换成字符串),可以使用`PadLeft()`或`PadRight()`方法配合`ToString()`。如果字符串代表的是整数,并且你想去掉前导零但保持长度(如电话号码中的区号),可以使用正则表达式。
例如,假设有一个字符串 `str = "00123"`,你可以这样做:
```csharp
string strWithoutLeadingZeros = str.TrimStart('0');
```
这会移除字符串开始的所有 '0'。如果你想要处理所有位置的多余的前导零,可以用正则表达式:
```csharp
using System.Text.RegularExpressions;
string pattern = @"^\d*";
Match match = Regex.Match(str, pattern);
if (match.Success)
{
string trimmedStr = match.Value;
// 现在 trimmedStr 就是 "123" 或者更短的形式,如果没有非零数字
}
```
阅读全文