Как сгруппировать только слова, без пробелов? - PullRequest
1 голос
/ 09 октября 2010

я хочу сгруппировать все слова без пробелов, например:

Мне нравится stackoverflow
[0] I
[1] нравится
[2] stackoverflow

Я знаю, это просто регулярное выражение, но я забыл, как мне это сделать.

Ответы [ 5 ]

3 голосов
/ 09 октября 2010

В Perl:

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

@words теперь содержит «I», «like» и «stackoverflow».

3 голосов
/ 09 октября 2010
(\w+)\s+(\w+)\s+(\w+)

В Java вы бы использовали что-то вроде этого

String[] splits = "I like stackoverflow".split("\\s+");
// split[0] = "I"
// split[1] = "like"
// split[2] = "stackoverflow"
1 голос
/ 09 октября 2010

Какой язык вы используете?

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 голосов
/ 19 июля 2015
var reg = /([\w$])+/gi; // matches only words without space and noalphabetic characters
0 голосов
/ 09 октября 2010

Обычно вы можете использовать \w для буквенно-цифрового символа, поэтому, если у вас нет странных символов, вы можете просто использовать что-то вроде

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

, где \s означает любой символ пробела

Если у вас есть слова, которые сделаны также с помощью символов (даже если это совершенно бессмысленно), вы можете использовать \S вместо \w, чтобы сопоставить все, кроме пробела ... но если у вас есть только список слов, разделенных пробелы вы можете определить набор разделителей и разделить строку с помощью функции API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...