2011-12-10 10 views
1

Pythonの文字列に2つの連続する空白があるかどうかを検出しますか?例えば文字列の空白のスペース

、入力文字列で:

 
Hello there 

私は2つのスペースを検出し、Trueを返すようにしたいと思います。

splitjoinを使用して連続するスペースを記入することはできますが、どのように検出するのですか?

答えて

7

あなたが二つ以上の連続しスペース検索する場合:あなたはどこでも、文字列に2つの以上のスペースを見つけたい場合は

if " " in s: 
    # s contains two or more consecutive space 

を:

if s.count(' ') >= 2: 
    # s contains two or more spaces 
+0

これは、2つ以上の*スペースを検出することに注意してください。例えば、3つの連続するスペースに対して "True"を返します。複数のスペースの存在を検出しようとしているだけなので、文字列をきれいにすることができます。これが最善の解決策です。 – Blair

+0

それを指摘してくれてありがとう。私は明確にするために私の答えを更新しました。 –

2

より一般的な解決策があります正規表現を使用して、の2つ以上の連続する空白があるかどうかを確認することによって実現されます。入力文字列のどこにでも。例えば:

import re 
if re.search('\s{2,}', s): 
    # s contains two or more consecutive spaces 

あなただけのどこかの文字列で正確二つのスペースがあるかどうかを確認する必要がある場合は、あなたが簡単になるよう、@マークByers氏のソリューションを使用して方がいいでしょう。

+0

2つ以上の単語がある場合、正規表現はなぜ優れていますか?言葉の数はそれと何が関係していますか?問題はちょうど2つの空白について質問していました。その場合、 'in'は正規表現を使用するよりはるかに優れています(特に質問の基本的な性質に基づいて推論する初心者の方が役に立ちます)。 –

+0

@BryanOakleyが同意しました。私は私の答えを編集しました。 –

関連する問題