[英]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.