2011-03-18 7 views
1

내 정규 표현식에만 공백이 하나 필요합니다.하나의 공백 만

문자열 값에 공백이 하나라도 있는지 확인하는 코드는 어떻게 작성해야합니까?

답변

9

말인지 정확히 모르겠지만 난 당신이 정확히 하나의 공백을 확인하려는 같은데요,하지만 공백이 아닌 문자의 번호 :

@"^\S*\s\S*$" 

예제 코드 :

Regex regex = new Regex(@"^\S*\s\S*$"); 
Console.WriteLine(regex.IsMatch("Hello, world!")); 
Console.WriteLine(regex.IsMatch("This contains three spaces.")); 
Console.WriteLine(regex.IsMatch("Two\nlines.")); 

출력 :

 
True 
False 
True 

문자열이 정확히 하나의 공백 (다른 문자)이 포함되지 않는 경우

다른 변형

확인하려면

@"^\s$" 

확인하기 위해 문자열이 적어도 하나의 공백이 포함 된 경우 :

@"\s" 
+0

두 번째 경우에는 하나의 공백 문자'str! = null && str.Le ngth == 1 && Char.IsWhiteSpace (str [1])'은 정규 표현식보다 효율적입니다. –

+0

'char.IsWhiteSpace (str [0])'을 의미한다고 생각하십니까? –

+0

Drat. 예. 5 분 후에 댓글을 편집 할 수없는 이유는 무엇입니까? –

관련 문제