如何按非字母字符分割字符串?
如何把一个字符串按字母以外的字符分开?换句话说,我只想从文本中提取出单词,其他的都不要。
s="(This# is an5example!)"
what_i_want=['This', 'is', 'an', 'example']
1 个回答
0
请注意下面@Andj的内容。我把相关部分复制过来了:
"français".isalpha()
会返回True
,而"franc\u0327ais".isalpha()
会返回False
。对于很多语言来说,较长的字符串通常会返回False
。Python对字母的定义和Unicode的定义是不一样的。
原始回答:
你可以逐个检查字符串中的字符,看看它们是否是字母。加一些逻辑,确保结果列表中不包含空字符串,这样就完成了:
s = "(This# is an5example!)"
word = ""
word_list = []
for character in s:
if character.isalpha():
word += character
elif len(word) > 0:
word_list.append(word)
word = ""
print(word_list)
输出结果
['This', 'is', 'an', 'example']