2

我有一个税号12-1234567,需要删除破折号/连字符,所以它都是数字 121234567 我已经阅读了不同的帖子并尝试了示例,但无法使其正常工作。

我已经使用^\d[2}\D\d[7}$并替换了\D,\W("[^0-9\\+]", "")

我知道这很简单,但我是 RegEx 的新手,但需要一点帮助。

4

3 回答 3

5

好吧,我不确定你用什么语言来代替它。但是这个正则表达式-会匹配破折号。但我不得不说,如果你在 C# 中,你应该这样做:

var val = taxId.Replace("-", "");

如果您在 VB.NET 中:

Dim val As String
val = taxId.Replace("-", "")

如果您使用的是 PHP:

var $val = str_replace("-", "", $taxId);

如果你在 perl 中:

$val =~ s/-//g;

如果您使用 JavaScript:

var val = taxId.replace("-", "");

我的意思是,您当然可以使正则表达式复杂化并执行以下操作:

\d{2}(-)\d{7}

并且-将在组中。但同样,这并不是 Regex 的真正工作。

于 2013-07-23T13:02:02.600 回答
2

捕获:(\d{2})-(\d{7}) 替换:($1$2\1\2在某些正则表达式中)。

^针对您的问题的最具体的正则表达式解决方案。从未使用过 Captiva Dispatcher 程序,我无法告诉您如何执行它。您可能会在SuperUser中找到更多关于这方面的帮助。我希望这会有所帮助。

于 2013-07-23T13:03:07.147 回答
1
onlyNumbersVar = Regex.Replace(taxVariable, "[^0-9]", "")
于 2013-07-23T13:43:51.947 回答