如何从C#中带有空格的字符串中删除前导0#

时间:2018-03-05 19:29:32

标签: c# .net

我知道如果它之间没有空格

,如何删除前导0
var strVal = "000001234";
strVal.TrimStart('0');

将给出结果“1234”。 但我不知道如何处理

var strVal ="0000 00001234";

我试过了:

strVal.Trim().TrimStart('0');

但它返回“00001234”。 谁能请帮忙。

3 个答案:

答案 0 :(得分:5)

当您致电TrimStart时,您可以指定从字符串的开头删除多个字符,这样您就可以只包含空格字符:

"00 00123".TrimStart(' ', '0');

答案 1 :(得分:2)

Trim无法正常工作,因为它:

  

从当前String对象中删除所有前导尾随空白字符。

它不会删除任何内容"内部"字符串。

作为Rufus L的解决方案的替代方案,这里有一个正则表达式的解决方案:

using System.Text.RegularExpressions;

// ...

Console.WriteLine(Regex.Replace(strVal, "^[0\\s]+", ""));

说明:

  • ^:字符串的开头
  • []:匹配括号内的任何内容
  • \\s:匹配任何空格
  • +重复一次或多次

答案 2 :(得分:-1)

您可以使用替换功能。 strVal.Replace(“”,“”)。TrimStart('0');

替换功能的链接:https://www.dotnetperls.com/replace

希望能帮到你