如何仅对单词进行分组,不使用空格?

问题描述 投票:0回答:5

我想对所有没有空格的单词进行分组,例如:

我喜欢 stackoverflow
[0]我
[1]喜欢
[2]计算器

regex split
5个回答
3
投票
(\w+)\s+(\w+)\s+(\w+)

在Java中你会使用这样的东西

String[] splits = "I like stackoverflow".split("\\s+");
// split[0] = "I"
// split[1] = "like"
// split[2] = "stackoverflow"

3
投票

在 Perl 中:

my $str = "I like stackoverflow";
my @words = split '\s+', $str;

@words
现在包含“I”、“like”和“stackoverflow”。


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))));

在我的一个开发站点中运行


0
投票

通常你可以使用

\w
来表示字母数字字符,所以如果你没有奇怪的符号,你可以使用类似的东西

(\w)+\s+(\w)+\s+.....

其中

\s
表示任何空白字符

如果您有也由符号组成的单词(即使它很无意义),您可以使用

\S
代替
\w
来匹配除空格之外的所有内容..但是如果您只有一个由空格分隔的单词列表,您可以使用可以定义一组分隔符并使用 API 函数分割字符串。


0
投票
var reg = /([\w$])+/gi; // matches only words without space and noalphabetic characters
© www.soinside.com 2019 - 2024. All rights reserved.