正则表达式从税号中删除破折号

时间:2013-07-23 12:56:39

标签: regex replace

我的税码为12-1234567,需要删除短划线/连字符,所以全部为数字121234567 我已经阅读了不同的帖子并尝试了这些示例,但无法使其发挥作用。

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

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

3 个答案:

答案 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]", "")