如何通过twitter api使用python格式化推文?

如何通过twitter api使用python格式化推文?,python,regex,string,twitter,split,Python,Regex,String,Twitter,Split,我通过twitter api收集了一些推文。然后我用python中的split(“”)计算单词数。但是,有些词是这样出现的: correct! correct. ,correct blah" ... 那么我如何在没有标点符号的情况下格式化推文呢?或者我应该尝试另一种方式来拆分推文?谢谢。在进行拆分之前,请尝试删除字符串中的标点符号 import string s = "Some nice sentence. This has punctuation!" out = s.translat

我通过twitter api收集了一些推文。然后我用python中的
split(“”)
计算单词数。但是,有些词是这样出现的:

correct! 
correct.
,correct
blah"
...

那么我如何在没有标点符号的情况下格式化推文呢?或者我应该尝试另一种方式来拆分推文?谢谢。

在进行拆分之前,请尝试删除字符串中的标点符号

import string
s = "Some nice sentence.  This has punctuation!"  
out = s.translate(string.maketrans("",""), string.punctuation)

然后在
out
上执行
split

尝试在执行拆分之前删除字符串中的标点符号

import string
s = "Some nice sentence.  This has punctuation!"  
out = s.translate(string.maketrans("",""), string.punctuation)

然后在
out
上执行
split

您可以使用
re.split
对多个字符执行拆分

from string import punctuation
import re

puncrx = re.compile(r'[{}\s]'.format(re.escape(punctuation)))
print filter(None, puncrx.split(your_tweet))
或者,只查找包含某些连续字符的单词:

print re.findall(re.findall('[\w#@]+', s), your_tweet)
例如:


在这个例子中,我本来有一个笑脸,但当然这些笑脸最终会被这个方法过滤掉,所以这是需要小心的。

您可以使用
re.split
对多个字符进行拆分

from string import punctuation
import re

puncrx = re.compile(r'[{}\s]'.format(re.escape(punctuation)))
print filter(None, puncrx.split(your_tweet))
或者,只查找包含某些连续字符的单词:

print re.findall(re.findall('[\w#@]+', s), your_tweet)
例如:


我最初在示例中确实有一个笑脸,但当然这些笑脸最终会被此方法过滤掉,因此这是需要小心的。

我建议在使用此代码拆分之前清除特殊符号中的文本:

tweet_object["text"] = re.sub(u'[!?@#$.,#:\u2026]', '', tweet_object["text"])
在使用function sub之前,需要导入re

import re

我建议在使用此代码拆分文本之前,清除特殊符号中的文本:

tweet_object["text"] = re.sub(u'[!?@#$.,#:\u2026]', '', tweet_object["text"])
在使用function sub之前,需要导入re

import re

任何使用
string.parantion
的简单解决方案无疑都会弄乱表情符号和其他特殊字符序列。如果你关心这一点,你应该考虑使用Twitter的Twitter。任何简单的解决方案,使用<代码> String。标点符号< /代码>无疑会与表情符号和其他特殊字符序列混淆。如果你关心这一点,你应该考虑使用Twitter的Twitter构建。