Нахождение слова - Строка Операция или Линк - PullRequest
1 голос
/ 14 июля 2010

У меня есть строка, полная нескольких сотен слов.

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

Возможно ли это?

Пример

Строка:

"это строка, полная слов и букв, а также знаков препинания! И num6er5."

Что касается алгоритма, в приведенной выше строке ровно 15 слов.

1 Ответ

2 голосов
/ 14 июля 2010

То, что вы пытаетесь сделать, называется токенизацией.

В C # строковая функция Split () работает довольно хорошо. Если он используется как в коде Niedermair без каких-либо параметров, он возвращает массив строк, разделенных (разделенных?) На любые пробелы, подобные этому:

"У меня есть пробелы" -> {"I", "есть", "пробелы"}

Вы также можете указать любые символы для разделения в качестве параметра для Split () (например, ',' или ';' для обработки файлов CSV).

Метод Split () не обращает внимания на то, что входит в строки, поэтому любые буквы, цифры и другие символы будут обрабатываться.

Об удалении слов из строки: возможно, вы захотите записать строку в буфер для достижения этого, но я серьезно думаю, что это заходит слишком далеко. Строки являются неизменяемыми, что означает, что каждый раз, когда вы удаляете «следующее слово», вам придется воссоздавать весь строковый объект. Будет намного проще просто разделить () всю строку, выбросить ее и работать с этим массивом.

...