Нахождение слова - String Operationg или Linq

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

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

Действительно ли это возможно?

Пример:

Строка:

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

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

1
задан 14 July 2010 в 09:44
поделиться

1 ответ

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

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

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

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

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

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

2
ответ дан 2 September 2019 в 23:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: