如何按非字母字符分割字符串?

-2 投票
1 回答
41 浏览
提问于 2025-04-14 15:25

如何把一个字符串按字母以外的字符分开?换句话说,我只想从文本中提取出单词,其他的都不要。

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']

撰写回答