Как удалить строки, содержащиеся в списке в VB.NET? - PullRequest
0 голосов
/ 30 июня 2009

Как я могу найти такие слова, как и, или, a, no, with, for и т. Д. В предложении, используя VB.NET, и удалить их. Также, где я могу найти список всех слов, как указано выше.

Ответы [ 4 ]

4 голосов
/ 30 июня 2009

Обратите внимание, что если вы не используете Границы слова Regex , вы рискуете столкнуться с проблемой Scunthorpe (Sfannythorpe) .

string pattern = @"\band\b";
Regex re = new Regex(pattern);

string input = "a band loves and its fans";

string output = re.Replace(input, "");  // a band loves  its fans

Обратите внимание, что группа 'and' in 'не затронута.

3 голосов
/ 30 июня 2009

Вы действительно можете заменить свой список слов, используя функцию .Replace (как описано для colithium) ...

myString.Replace("and", "")

Edit:

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


Поскольку ваш вопрос предполагает, что вы хотите очистить предложение, чтобы сохранить значащие слова, вам нужно сделать больше, чем просто удалить двух- и трехбуквенные слова.

Вам нужен список стоп-слов : http://en.wikipedia.org/wiki/Stop_word

A список, разделенный запятыми стоп-слов для английского языка можно найти здесь: http://www.textfixer.com/resources/common-english-words.txt

0 голосов
/ 30 июня 2009

Вы можете сопоставить слова и удалить их с помощью регулярных выражений.

0 голосов
/ 30 июня 2009

Самый простой способ:

myString.Replace ("and", "")

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

Список английских двухбуквенных слов
Список английских 3 буквенных букв

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