文字列の数が最も簡単かもしれません。
"Who will treat me to a beer? I bet, alexnewby will!".count('.!?')
tadmanの解と比べて、中間配列を構築する必要はありません。例えば、ピリオドまたは感嘆符の実行は、文字列中に発見された場合は、それは誤った結果が得られます。
"Now thinking .... Ah, that's it! This is what we have to do!!!".count('.!?')
=> 8
質問のでれる:あなたは絶対、正確な結果が必要です、 (大文字のテキストなどの統計的分析に使用されていれば十分でしょう)正確な結果が必要な場合は、定義するもの、文章とは何か、そうでないものを定義する必要があります。次のテキストについて考えてみましょう。
Louise jumped out of the ground floor window.
"Stop! Don't run away!", cried Andy. "I did not
want to eat your chocolate; you have to believe
me!" - and, after thinking for a moment, he
added: "If you come back, I'll buy you a new
one! Large one! With hazelnuts!".
でも、タドマンの解は正確ではありません。次の1つのセンテンスのために5のカウントを与えるでしょう:
The IP address of Mr. Sloopsteen's dishwasher is 192.168.101.108!
ありがとう、非常に徹底的な答え、それは動作します!私は前に+で演奏しましたが、なんらかの理由でそれを働かせることができませんでした... – alexnewby
何かの "1つ以上"を意味しますが、コーチングなしではなく、 。'dogs +'は "dogs"と "dogsssss"を "dogdog"ではなく、 '(?:dogs)+'は繰り返しインスタンスと一致します。 – tadman