2016-05-08 8 views
0

文字列に何ピリオド(点)が表示されるのかをカウントする必要があります。例えば文字列のピリオドでピリオドをカウントする方法

str="hellow.my.word." 

コードは3

返す必要があり、私は次の関数を使用しようとしたが、それは文字列の長さを返します。

num=str.count('.') 

正しい方法はありますか?

+0

他の回答には、反復を使用するように見えます。反復を使用することは、この目的には適切ではありません。正規表現を代わりに使用する: 'len(re.findall("。。 "、my_string))' – Pouria

答えて

1

文字列を反復処理するために理解するために使用します。

また、それは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

+0

FWIW、 'str'は確かに呼び出し可能ですが、実際には関数ではありません。 'str'は型(IOW、クラス)なので、それを呼び出すと新しい文字列インスタンスが作成されます。 –

1

一つの可能​​な解決策が以外の文字をフィルタリングすることです.を使用し、得られたlisの長さを測定するT:str(str is built-in).

第二以外の

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

使用変数名:私が見てきた

string = "hellow.my.word." 
num=string.count('.') # num=3 ...THIS WORKS 
関連する問題