我正在使用python中的tweepy来获取Twitter趋势,并且我能够找到世界前50大趋势,所以对于样本我得到这样的结果
#BrazilianFansAreTheBest, #PSYPagtuklas, Federer, Corcuera, Ouvindo ANTI,
艦これ改, 영혼의 나이, #TodoDiaéDiaDe, #TronoChicas, #이사람은_분위기상_군주_장수_책사,
#OTWOLKnowYourLimits, #BaeIn3Words, #NoEntiendoPorque
(请忽略非英语单词)
所以在这里我需要解析每个标签并将它们转换成正确的英文单词。我还检查了人们如何编写标签并找到以下方式 -
#thisisawesome
#ThisIsAwesome
#thisIsAwesome
#ThisIsAWESOME
#ThisISAwesome
#ThisisAwesome123
(有些时候主题标签也有数字)
因此,请记住所有这些,我想如果我能够在字符串下方拆分,那么上述所有案例都将被涵盖。
string ="pleaseHelpMeSPLITThisString8989"
Result = please, Help, Me, SPLIT, This, String, 8989
我使用re.sub
尝试了一些东西,但它没有给我预期的结果。
答案 0 :(得分:0)
正则表达式是用于该工作的错误工具。您需要一个明确定义的模式才能编写好的正则表达式,在这种情况下,您没有一个。假设您可以拥有Capitalized Words
,CAPITAL WORDS
,lowercase words
和数字,则没有真正的方法可以查看THATSand
并区分THATS and
或{ THAT Sand
。
自然语言方法将是一个更好的解决方案,但同样,它不可避免地会遇到与上述相同的问题-您如何区分两种(或更多种)完全有效的方法来解析相同的输入?现在,您需要获取一些普通的句子,为您打算解析的每种语言构建一个句子,并且 still 还需要担心正确解析twitter经常出现的毫无意义的标签。
问题就变成了,为什么根本需要分割字符串?我建议您找到一种忽略此要求的方法,因为与开发此特定解决方案相比,几乎可以肯定,解决问题要容易得多。