len函数 - 计算单词

时间:2015-09-09 04:31:46

标签: python-3.4

在Python中,len()函数确实提供构成字符串中单词的确切#字母数量。

但是当我有一个包含多个单词的字符串时,它不会显示正确的#字母数量,因为它正在计算单词之间的空格。

对于具有多个单词的字符串,len()函数正确计算字母数的正确命令是什么?

2 个答案:

答案 0 :(得分:0)

你可以使用len([c for c in address if c.isalpha()])这里我假设你的字符串是命名地址。以下是来自python 3.4 docs的isalpha的定义:

  

如果字符串中的所有字符都是字母,那么返回true   至少是一个字符,否则为假。字母字符是   Unicode字符数据库中定义的那些字符为   “信件”,即具有一般类别属性的那些   “Lm”,“Lt”,“Lu”,“Ll”或“Lo”。请注意,这与   Unicode标准中定义的“字母”属性

我们对地址中的每个单字符串执行此测试。由于python 3字符串是Unicode格式,因此该测试还会捕获其他字母表中的字母,如希腊语,阿拉伯语或希伯来语。我不知道这是不是你想要的,但如果你只有英文字母的字母,那就可以了。

答案 1 :(得分:0)

您可以使用正则表达式:

import re

s = "14th Street 456 */\&^%$-+#@!()[]{};.,:"

# Remove anything other than letters
n = re.sub(r'[^a-zA-Z]', "", s)

print(n)
print("length :" , len(n))

输出:

thStreet
length : 8