2

我想编写一个正则表达式来替换字符串中的空格,如下所示:

字符串:user1: group user2 :group2 user3 : group3

user1:group user2:group2 user3:group3

到目前为止我尝试的是:

$argument =~ s/\s+\:/\:/g;
4

2 回答 2

5

你快到了:

$argument =~ s/\s*:\s*/:/g;

无需转义:,并且您想在冒号前后搜索空格。而不是\s+which 搜索一个或多个,我使用\s*which 搜索零个或多个。这样,如果之前没有空格但之后有一些空格,您将匹配,反之亦然。

于 2012-09-27T18:18:10.310 回答
1

编辑(没有注意到冒号前也可能有空格):

$yourString =~ s/\s*:\s*/:/g;

我认为。请注意,我绝不会说 perl。

于 2012-09-27T18:20:19.450 回答