在字符串中的字符之间添加可选的空格

时间:2012-01-04 16:42:01

标签: regex

我有一个For Exampe字符串

string SampleString = "F456-G12345-9090-GHI"

我需要在上面的字符串中的所有字符之间添加一个可选的空格。

上面的字符串需要匹配相同的字符串,该字符串可能有或没有ewach字符之间的空格。另一个字符串就像

string samplestring1 = "F456-G12345- 9090  -GHI"

由于 帕德玛

2 个答案:

答案 0 :(得分:2)

我不肯定我理解你会匹配什么。如果你正在寻找一个特定的字符串,那么最简单的方法可能是在字符串中用''替换所有空格,然后进行匹配。

在perl我会这样做:

$string =~ s/\s//g;
while ($string =~ m/F456-G12345-9090-GHI/g) {
  # Do something
}

如果您正在寻找多个字符串,而不仅仅是特定字符串,您可能只想添加\ s作为潜在匹配[\ w \ s - ] +

但是,如果你要匹配一个特定的字符串,我只需要首先整个空格,而不是在检查字符串之前执行昂贵的正则表达式检查(并丢弃)找到的任何空格。

答案 1 :(得分:0)

您可能需要在每个角色之间添加\s*。 (或空格的其他控制字符)

\s*F\s*4\s*5\s*6\s*-\s*G\s*1\s*2\s*3\s*4\s*5\s*-\s*9\s*0\s*9\s*0\s*-\s*G\s*H\s*I\s*

或者,根据您的正则表达式方法,您可以传递一个选项来忽略源文本中的空格,但这取决于您正在使用的正则表达式库。