繁体   English   中英

根据'\\ n'在字符串中分割单词

[英]splitting words in string based on '\n'

伙计们,我有一个字符串要尝试做一个ngram,但是我有一个问题,当我执行ngram = ngrams(raw_text.split(" "), n=1 ,输出是

[('come',), ('here,',), ('girl\noh,',), ('you',)....]

问题在于我的字符串中的单词排列方式如下:

come here, girl\noh, you want...

这意味着我的ngram比需要的大得多,所以我该怎么做才能得到像这样的字符串

come here , girl \n oh , you ... 

以便我的ngram小一些谢谢大家,我希望大家都过得愉快

编辑我现在知道我正在使用定界符并且已更改了该内容...因此\\ n问题消失了,但是我可以将字符串中包含标点符号的单词拆分吗?

我可以在带有标点符号的字符串中拆分单词吗?

您的最终结果仍然不清楚:您要包含标点符号还是将其完全丢弃? 假设您不需要标点符号,那么使用re.split()简单了:

>>> import re
>>> re.split(r'\W+', "Hello, this'll split by\n \nwhitespace and also puncutation!")
['Hello', 'this', 'll', 'split', 'by', 'whitespace', 'and', 'also', 'puncutation', '']

如果您想以更智能的方式进行拆分,这会很快变得复杂。 我建议使用nltk工具箱,该工具箱提供了其他选项nltk.word_tokenize

>>> import nltk
>>> nltk.word_tokenize("Hello, this'll split by\n \nwhitespace and also puncutation!")
['Hello', ',', 'this', "'ll", 'split', 'by', 'whitespace', 'and', 'also', 'puncutation', '!']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM