【问题标题】:how to count periods latters in string python [duplicate]如何计算字符串python中的句点字母[重复]
【发布时间】:2016-09-03 04:40:11
【问题描述】:

我需要计算一个字符串中有多少个句点(点)。

例如:

str="hellow.my.word."

代码应该返回 3。

我尝试使用以下函数,但它返回字符串的长度。

 num=str.count('.')

正确的做法是什么?

【问题讨论】:

  • 我见过的其他答案似乎使用迭代。使用迭代不适合此目的。改用正则表达式:len(re.findall("(\.)", my_string))

标签: python string


【解决方案1】:

使用 for 理解来迭代字符串:

另外,不要使用str作为变量名,它是python的内置函数。

string="hellow.my.word."

sum([char == '.' for char in string])  # Returns 3

编辑

关于@niemmi 的评论,显然这可以使用string.count('symbol')

string.count('.') # returns 3

文档:https://docs.python.org/2/library/string.html#string.count

【讨论】:

  • FWIW,虽然str 肯定是可调用的,但它并不是真正的函数。 str 是一个类型(IOW,一个类),所以当你调用它时,它会创建一个新的字符串实例。
【解决方案2】:

一种可能的解决方案是过滤掉除. 之外的其他字符并测量结果列表的长度:

len([1 for c in string if c == '.'])

【讨论】:

    【解决方案3】:

    使用str(str is built-in).以外的变量名

    其次:

    string = "hellow.my.word."
    num=string.count('.') # num=3 ...THIS WORKS
    

    【讨论】:

      猜你喜欢
      • 2016-01-01
      • 2017-04-20
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      相关资源
      最近更新 更多