Я только что использовал iTextSharp, чтобы получить весь текст из pdf, и теперь мне нужно разбить этот текст на слова. Я использовал библиотеку Acrobat, которая автоматически делила ее на слова (используя getPageNthWord()
).Разделить текст на слова: Сепараторы
Я не знаю, какие критерии используются, но теперь мне нужно знать, как разделить текст на слова. Я разделил текст на разных языках, поэтому мне нужно разделить на все возможные разделители.
Я видел метод Char.IsSeparator()
, но используя этот средний цикл для каждого символа, который будет неэффективным.
То, что я получил до сих пор вручную указать разделители для использования в .Split()
:
separators = " .,;:-(){}[]/\'""?¿!¡" & Convert.ToChar(9) & NewLine()
Существует какое-то место для получения общих символов разделителей?
По крайней мере, на западных языках разделителем слов является «». Вы также можете добавить несколько знаков препинания («.», «,», «:», «;»), Просто для учета любого сценария (неправильно написанный текст), но я не думаю, что вы должны рассмотреть больше, чем что. В противном случае вы можете начать «переразделять»; например: «-» (или «» «» или ...) необязательно указывают два разных слова. – varocarbas
Сначала попробуйте просмотреть образец по адресу http://msdn.microsoft.com/en-us/library/cta536cf.aspx. Во-вторых, может быть string.Split (null) будет удовлетворительным? – Vladimir
@ Владымир Фролов Оба комментария должны быть ответами, ИМХО. '.Split (null)' [использовать только разделители пробелов] (http://msdn.microsoft.com/en-us/library/b873y76a.aspx), но, как вы указали, очень похож на 'Char.IsSeparator() '. – SysDragon