C # - строка для ключевых слов - PullRequest
4 голосов
/ 03 сентября 2010

Какой самый эффективный способ превратить строку в список слов в C #?

Например:

Hello... world 1, this is amazing3,really ,  amazing! *bla*

должно превратиться в следующий список строк:

["Hello", "world", "1", "this", "is", "amazing3", "really", "amazing", "bla"]

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

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

Спасибо.

Ответы [ 3 ]

5 голосов
/ 03 сентября 2010
char[] separators = new char[]{' ', ',', '!', '*', '.'};  // add more if needed

string str = "Hello... world 1, this is amazing3,really ,  amazing! *bla*";
string[] words= str.Split(separators, StringSplitOptions.RemoveEmptyEntries);
5 голосов
/ 03 сентября 2010

Как насчет использования регулярных выражений? Вы можете сделать выражение произвольно сложным, но то, что у меня здесь есть, должно работать для большинства входных данных.

new RegEx(@"\b(\w)+\b").Matches(text);
2 голосов
/ 03 сентября 2010

Вам нужен лексер .

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