我仍然对python有些新意,所以我遇到了一个我不知道如何解决这个特殊问题的问题。
所以我们有一个像“ThisThingIsCool”或“thisthingiscool”
这样的字符串现在我需要以某种方式制作一个像[This,Thing,Is,Cool]或[this,thing,is,cool]的列表
目前,我正在使用textblob,但我不确定他们是否有这样的方式来做这样的事情。
我的意思是我下载了语料库(我猜它是一个单词列表),但没有看到任何函数来识别乱码字符串中的单词并提取单词。留下列表作为输出。
所以我想解决至少能够用大写字母拆分一个。但是我不知道如何在python中进行。
所以问题是
如何识别大写字母?
如何在不使用分隔符的情况下拆分它?
textblob中有什么东西可以做到吗?
谢谢
答案 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']