如何从python中没有空格的字符串中提取单词?

时间:2017-05-07 05:19:05

标签: python string split tweepy textblob

我仍然对python有些新意,所以我遇到了一个我不知道如何解决这个特殊问题的问题。

所以我们有一个像“ThisThingIsCool”或“thisthingiscool”

这样的字符串

现在我需要以某种方式制作一个像[This,Thing,Is,Cool]或[this,thing,is,cool]的列表

目前,我正在使用textblob,但我不确定他们是否有这样的方式来做这样的事情。

我的意思是我下载了语料库(我猜它是一个单词列表),但没有看到任何函数来识别乱码字符串中的单词并提取单词。留下列表作为输出。

所以我想解决至少能够用大写字母拆分一个。但是我不知道如何在python中进行。

所以问题是

  1. 如何识别大写字母?

  2. 如何在不使用分隔符的情况下拆分它?

  3. textblob中有什么东西可以做到吗?

  4. 谢谢

2 个答案:

答案 0 :(得分:3)

使用大写字母拆分相当容易,使用正则表达式:

s = "ThisThingIsCool"
re.findall(r'[A-Z][^A-Z]*', s)
#['This', 'Thing', 'Is', 'Cool']

通用解决方案要困难得多,可能还需要动态编程。

答案 1 :(得分:1)

使用re模块。

>>> a = 'ThisThingIsCool'
>>> import re
>>> re.findall(r'[A-Z][a-z]*', a)
['This', 'Thing', 'Is', 'Cool']
>>> [i.lower() for i in re.findall(r'[A-Z][a-z]*', a)]
['this', 'thing', 'is', 'cool']
>>> list(map(str.lower, re.findall(r'[A-Z][a-z]*', a)))
['this', 'thing', 'is', 'cool']