2015-01-18 3 views
1

문자열의 일부에 [g-zG-Z] 범위의 문자가 포함되어 있는지 확인하고 싶습니다.java : 문자열에 g-z의 문자가 포함되어 있는지 확인하십시오.

예를 들어 "aged01"이라는 문자열을 사용하면 g가 포함되어 있으므로 "오류 : 문자열에 g-zG-Z의 문자가 포함되어 있습니다"라는 문자가 인쇄되지만 문자열 대신 인쇄됩니다. 내가 contains 방법은 인수로 정규식을 허용하지 않기 때문에 당신이 string.matches 방법 또는 Pattern, Matcher 클래스 대신 string.contains를 사용하는 것이 좋습니다

public static void main(String args[]) { 
    String s = "aged01"; 
    if(s.contains("[g-zG-Z]+")) { 
     System.out.println("Error:String contains a letter from g-zG-Z"); 
    } 
    else { 
     System.out.println(s); 
    } 
} 

답변

4

도와주세요.

String s = "aged01"; 
if(s.matches(".*[g-zG-Z].*")) { 
    System.out.println("Error:String contains a letter from g-zG-Z"); 
} 
else { 
    System.out.println(s); 
} 

출력 : 실제 문자열에 대한

Error:String contains a letter from g-zG-Z 
+1

'contains' 메소드가 정규 표현식을 인수로 허용하지 않기 때문이라고 생각합니다. –

0

contains(substring) 검사, 당신이하고있는 그 안에 정규식을 허용하지 않습니다. 여기 matches

String s = "aged01"; 
if(s.matches(".*[g-zG-Z].*")) { 
    System.out.println("Error:String contains a letter from g-zG-Z"); 
} else { 
    System.out.println(s); 
} 

.*으로 확인 다른 캐릭터의 여러 발생 할 수 있습니다.

+0

우리는 귀하의 출처를보다 쉽게 ​​읽고 답변을 포기할 수 있도록 귀하의 답변을 포맷 할 수 있습니다. – cool

관련 문제