我知道如果它之间没有任何空间,如何删除前导0
var strVal = "000001234";
strVal.TrimStart('0');
将给出结果“1234”。但我不知道该怎么做
var strVal ="0000 00001234";
我试过了:
strVal.Trim().TrimStart('0');
但它返回“00001234”。谁能请帮忙。
当你调用TrimStart
时,你可以指定从字符串的开头删除多个字符,这样你就可以简单地包含空格字符:
"00 00123".TrimStart(' ', '0');
Trim
不会工作,因为它:
从当前String对象中删除所有前导和尾随空格字符。
它不会删除字符串内部的任何内容。
作为Rufus L's解决方案的替代方案,这里有一个正则表达式的解决方案:
using System.Text.RegularExpressions;
// ...
Console.WriteLine(Regex.Replace(strVal, "^[0\\s]+", ""));
说明:
^
:字符串的开头[]
:匹配括号内的任何一个东西\\s
:匹配任何空格+
重复这个1次或更多次您可以使用替换功能。 strVal.Replace(“”,“”)。TrimStart('0');
替换功能的链接:https://www.dotnetperls.com/replace
希望对你有所帮助