我有一个单词列表:
str_list = [“There”, “is”, “ a Red”, “”, “shirt, but not a white One”]
我想检查列表中的每个单词是否都有大写字母 如果是这样,我想制作一个这样的新列表:
split_str_list = [“There”, “is”, “ a ”, ”Red”, “”, “shirt, but a white “, ”One”]
我试过了:
for word in range(len(str_list)):
if word.isupper():
print str_list[word]
但它没有检查每个字母,而是检查字符串中的所有字母。
答案 0 :(得分:4)
您可以使用re.split()
:
import re
import itertools
str_list = ['There', 'is', ' a Red', '', 'shirt, but not a white One']
final_data = list(itertools.chain.from_iterable([re.split('\s(?=[A-Z])', i) for i in str_list]))
输出:
['There', 'is', ' a', 'Red', '', 'shirt, but not a white', 'One']