我的税码为12-1234567
,需要删除短划线/连字符,所以全部为数字121234567
我已经阅读了不同的帖子并尝试了这些示例,但无法使其发挥作用。
我使用了^\d[2}\D\d[7}$
并将\D
替换为\W
,("[^0-9\\+]", "")
等。
我知道这很简单,但我是RegEx的新手,但需要一些帮助。
答案 0 :(得分:4)
好吧,我不确定你用什么语言来代替它。但是这个正则表达式-
会匹配破折号。但我不得不说,如果你在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来说并不是真正的工作。
答案 1 :(得分:2)
捕获:(\d{2})-(\d{7})
替换:$1$2
(或某些正则表达式中的\1\2
)。
^针对您的问题的最具体的正则表达式解决方案。从未使用过Captiva Dispatcher程序,我无法告诉你如何执行它。您可以在SuperUser中找到有关该方面的更多帮助。我希望这很有帮助。
答案 2 :(得分:1)
onlyNumbersVar = Regex.Replace(taxVariable, "[^0-9]", "")