cai*_*ing 4 python string count python-3.x
如何计算Python中字符串开头/结尾的字符数?
例如,如果字符串是
'ffffhuffh'
Run Code Online (Sandbox Code Playgroud)
我如何计算字符串开头的fs 数?上面的字符串应该输出4.f
str.count 对我来说没有用,因为角色可能在字符串的中间.
abc*_*ccd 11
一种简短的方法是使用该str.lstrip方法,并计算长度的差异.
s = 'ffffhuffh'
print(len(s)-len(s.lstrip('f')))
# output: 4
Run Code Online (Sandbox Code Playgroud)
返回删除了前导字符的字符串副本.chars参数是一个字符串,指定要删除的字符集.
试试这个,使用itertools.takewhile():
import itertools as it
s = 'ffffhuffh'
sum(1 for _ in it.takewhile(lambda c: c == 'f', s))
=> 4
Run Code Online (Sandbox Code Playgroud)
同样,为了计算结尾处的字符:
s = 'huffhffff'
sum(1 for _ in it.takewhile(lambda c: c == 'f', reversed(s)))
=> 4
Run Code Online (Sandbox Code Playgroud)