You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用正则表达式移除字符串开头的数字及点号?C#技术求助

解决方案

你的问题出在正则表达式的匹配逻辑上:原正则^\d+[\.]*只能匹配一段连续数字加上后续的零个或多个点,无法处理开头数字和点交替出现的情况(比如6.86.7.72022这种结构)。

修正后的正则表达式

使用^[\d.]+,它表示匹配字符串开头一个或多个连续的数字(\d)或点号(.),正好覆盖你需要移除的所有开头字符。

修正后的完整代码

using System.Text.RegularExpressions;

static void Main(string[] args)
{
    var str = @"6.86.7.72022年10月缴纳的纳税证明";
    str = str.RemoveBeginDigit();
    Console.WriteLine(str); // 输出:年10月缴纳的纳税证明
}

public static string RemoveBeginDigit(this string str)
{   
     return Regex.Replace(str, @"^[\d.]+", "", RegexOptions.None);
}

说明

  • ^:锚定字符串的开头,确保只替换开头的目标字符
  • [\d.]:匹配任意一个数字(0-9)或点号
  • +:表示匹配前面的字符(数字或点)至少一次,连续匹配直到遇到非数字非点的字符

内容的提问来源于stack exchange,提问作者user23353507

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 17:17:22