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

问题描述 投票:1回答:3

我知道如果它之间没有任何空间,如何删除前导0

var strVal = "000001234";
strVal.TrimStart('0');

将给出结果“1234”。但我不知道该怎么做

var strVal ="0000 00001234";

我试过了:

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

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

c# .net
3个回答
5
投票

当你调用TrimStart时,你可以指定从字符串的开头删除多个字符,这样你就可以简单地包含空格字符:

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

2
投票

Trim不会工作,因为它:

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

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

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

using System.Text.RegularExpressions;

// ...

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

说明:

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

-1
投票

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

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

希望对你有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.