文字列に何ピリオド(点)が表示されるのかをカウントする必要があります。例えば文字列のピリオドでピリオドをカウントする方法
:
str="hellow.my.word."
コードは3
返す必要があり、私は次の関数を使用しようとしたが、それは文字列の長さを返します。
num=str.count('.')
正しい方法はありますか?
文字列に何ピリオド(点)が表示されるのかをカウントする必要があります。例えば文字列のピリオドでピリオドをカウントする方法
:
str="hellow.my.word."
コードは3
返す必要があり、私は次の関数を使用しようとしたが、それは文字列の長さを返します。
num=str.count('.')
正しい方法はありますか?
文字列を反復処理するために理解するために使用します。
また、それはPythonで組み込み関数ですが、変数名としてstr
を使用しないでください。 @のniemmiさんのコメントについて
string="hellow.my.word."
sum([char == '.' for char in string]) # Returns 3
EDIT
が、どうやらこれはstring.count('symbol')
を使用して可能である:
string.count('.') # returns 3
ドキュメント:https://docs.python.org/2/library/string.html#string.count
FWIW、 'str'は確かに呼び出し可能ですが、実際には関数ではありません。 'str'は型(IOW、クラス)なので、それを呼び出すと新しい文字列インスタンスが作成されます。 –
一つの可能な解決策が以外の文字をフィルタリングすることです.
を使用し、得られたlisの長さを測定するT:str(str is built-in).
第二以外の
len([1 for c in string if c == '.'])
使用変数名:私が見てきた
string = "hellow.my.word."
num=string.count('.') # num=3 ...THIS WORKS
他の回答には、反復を使用するように見えます。反復を使用することは、この目的には適切ではありません。正規表現を代わりに使用する: 'len(re.findall("。。 "、my_string))' – Pouria