Python 3.x 仅从python中的字符串计算字数 txt=“西班牙的雨3 3545&%” count=len(re.findall(r'\w+',txt)) 打印(计数)

Python 3.x 仅从python中的字符串计算字数 txt=“西班牙的雨3 3545&%” count=len(re.findall(r'\w+',txt)) 打印(计数),python-3.x,regex,string,list,count,Python 3.x,Regex,String,List,Count,输出=5 期望输出为3。单词“The”,“rain”,“in”这些只需要计算。 程序没有计算特殊字符,而是计算数字。如何删除数字并只计算单词您可以尝试计算与\b[A-Za-z]+\b匹配的术语的数量: txt=“西班牙的雨3 3545&%” matches=re.findall(r'\b[A-Za-z]+\b',txt) 打印(len(匹配项))#3 另一方面,如果您想将一个单词定义为任意数量的字母数字字符,只要至少有一个字母存在,那么您可以使用上述方法,使用模式\b\w*[a-Za-z]\w

输出=5

期望输出为3。单词“The”,“rain”,“in”这些只需要计算。
程序没有计算特殊字符,而是计算数字。如何删除数字并只计算单词

您可以尝试计算与
\b[A-Za-z]+\b匹配的术语的数量:

txt=“西班牙的雨3 3545&%”
matches=re.findall(r'\b[A-Za-z]+\b',txt)
打印(len(匹配项))#3
另一方面,如果您想将一个单词定义为任意数量的字母数字字符,只要至少有一个字母存在,那么您可以使用上述方法,使用模式
\b\w*[a-Za-z]\w*\b

txt=“西班牙的雨3 3545&%”
matches=re.findall(r'\b\w*[A-Za-z]\w*\b',txt)
打印(len(匹配项))#4

您想要的结果是什么?
Spain3
是否应计算在内?像
2nd
这样的词怎么样?像
这样的单词不是吗?
?应该从示例输入中计算多少实际“单词”?所需的输出是3。带数字或特殊字符的单词也需要删除