我希望将没有空格的所有单词分组,例如:
我喜欢stackoverflow
[0] I
[1]等
[2]计算器
我知道它是一个简单的正则表达式,但我忘了我是怎么做那个xP。
答案 0 :(得分:3)
(\w+)\s+(\w+)\s+(\w+)
在Java中你会使用类似这样的东西
String[] splits = "I like stackoverflow".split("\\s+");
// split[0] = "I"
// split[1] = "like"
// split[2] = "stackoverflow"
答案 1 :(得分:3)
Perl:
my $str = "I like stackoverflow";
my @words = split '\s+', $str;
@words
现在包含“I”,“like”和“stackoverflow”。
答案 2 :(得分:1)
您使用的是哪种语言?
PHP:$ array = array_filter(array_map('trim',explode(“”,$ string)));
或更好:
或更好。 $ array = array_filter(array_map(“trim”,explode(“”,preg_replace(“/ [^ a-zA-Z0-9 \ s] /”,“”,$ copy))));
之一的行动中答案 3 :(得分:0)
通常你可以使用\w
作为字母数字字符,所以如果你没有奇怪的符号,你可以使用类似的东西
(\w)+\s+(\w)+\s+.....
其中\s
表示任何空格字符
如果您的单词也是由符号构成的(即使它是完全无意义的),您可以使用\S
而不是\w
来匹配除空格之外的所有内容..但如果您只有一个列表用空格分隔的单词,你可以定义一组分隔符,并用API函数分割字符串。
答案 4 :(得分:0)
var reg = /([\w$])+/gi; // matches only words without space and noalphabetic characters