Разбить текст на слова

Укажите разделитель и разбейте текст на отдельные столбцы или по новой строке

Описание:

Используйте этот инструмент, чтобы разбить текст на две колонки или более. Вы также можете разделить текст по новой строке. Обратите внимание, что вы должны указать разделитель, будь то запятая, пробел или любой допустимый символ. Столбцы должны быть разделены одним и тем же разделителем и следовать одному и тому же формату, иначе они не будут правильно извлекать и разбивать предоставленные данные. Отмена функции "Сцепить" в Excel может занять много времени. Этот инструмент может быть полезен, когда вы пытаетесь объединить текст в одну колонку.

Разделить на столбцы

Этот инструмент противоположность инструмента Объединить текст. Он извлекает каждый столбец и помещает их в отдельные ячейки.

Пример: разделить имя и фамилию на два столбца используя , (запятую с последующим пробелом) в качестве разделителя. Результат:

Разделить на новую строку

Эта опция заменяет разделитель — переводом строки (
). Выберите эту опцию, если вы хотите разбить текст построчно.

Пример: разделить на новую строку, используя запятую ( , ) в качестве разделителя. Результат:

Vladimir the Red Sunny

необходимо учитывать, что слова бывают разделены не пробелом а другими знаками

(В смысле, человек не знает, что после знаков препинания ставится пробел (малообразованный), и при этом написал 3000 страниц (графоман))

Vladimir the Red Sunny

А вот вариант VTRS работает ну очень быстро. Я сначала очень удивился. А потом понял что тормозит — добавление в сет новых элементов. (т.к. нужно каждый проверять на уникальность а их ну очень много!)

Vladimir the Red Sunny

Для того, чтобы из частотного словаря d получить отсортированый список слов arr, достаточно написать:

Ты это кому? Зачем делать словарь, а потом из него делать список?

почему странно? Помоему логично. Для добавления нового элемента надо проверить его уникальность, и так для каждого элемента. не очень быстрая операция.

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

Как разделить текст на слова?

Читайте также  Сломанная статуя ангела divinity original sin 2

6 ответов

разделить текст на пробелы, затем обрезать препинания.

точно согласуется с примером.

во-первых, удалить все специальные characeters:

затем разделите его:

для более простого решения C# для удаления специальных символов (которые вы можете легко изменить) добавьте этот метод расширения (я добавил поддержку Апострофа):

тогда используйте его так:

вы будете удивлены, узнав, что этот метод расширения очень эффективен (конечно, намного эффективнее, чем регулярное выражение), поэтому я предлагаю вам использовать его 😉

обновление

Я согласен, что это только английский подход, но чтобы сделать его совместимым с Unicode все, что вам нужно сделать, это заменить:

который поддерживает Unicode, .Net также предлагает вам char.IsSymbol и char.IsLetterOrDigit для различных случаев

чтобы добавить вариант ответа @Adam Fridental, который очень хорош, вы можете попробовать это регулярное выражение:

Я считаю, что это самое короткое регулярное выражение, которое получит все слова

Если вы не хотите использовать объект Regex, вы можете сделать что-то вроде.

вам все равно придется обрабатывать конечный Апостроф в конце "that","

Это одно из решений, я не использую вспомогательный класс или метод.

вы можете попробовать использовать регулярное выражение для удаления апострофов, которые не окружены буквами (Т. е. одинарными кавычками), а затем использовать Char статические методы для удаления всех других символов. Вызвав сначала регулярное выражение, Вы можете сохранить апострофы сокращения (например, can’t ), но удалить одинарные кавычки, как в ‘Oh .

Ссылка на основную публикацию
Adblock
detector