2013-05-22 4 views
1

문자열 (단어, 공백 없음)에 주어진 문자가 있는지 확인해야합니다.주어진 알파벳의 문자열 확인

String A: apple 
String B: bed 
Alphabet: a b c d e f 

알파벳과 문자열을 효율적으로 비교하고 싶습니다. String이 알파벳으로 된 문자로 구성되어 있는지 확인하고 싶습니다. 지금 들어 ArrayList와 for 루프에 내 알파벳이 있습니다 String에 arraylist의 문자가 포함되어 있는지 확인한 다음 true이면 종료하고 그 다음 문자를 입력하면 다음 문자로 계속 진행합니다. 문자열 A에 대한 위의 예제는 p와 l이 알파벳의 일부가 아니므로 false를 반환합니다. 그러나 B에 대해 사실로 돌아갑니다.

더 효율적으로 수행 할 수 있습니까? 도움 주셔서 감사합니다.

+1

Regex : http://www.vogella.com/articles/JavaRegularExpressions/article.html – Joetjah

+0

명확한 설명을 위해, 예를 들어, 텍스트에 'a'가 포함되어 있기 때문에 'true'라고 기대합니까?) 또는'false' (텍스트가 알파벳의 일부가 아닌'p'를 포함하고 있기 때문에)? –

+0

좋은 질문입니다. 내 질문을 업데이트하겠습니다. – alkis

답변

1

"알파벳"을 정규식으로 바꾸고 String.matches()을 사용하십시오. 회원님이 정확히 후,하지만 내가이 두 가지 옵션 중 하나입니다 확신 무엇인지 :

단어가 가지고있는 확인하려면 알파벳 문자의 적어도 하나의 :

if (str.matches(".*[abcdef].*")) 
단어가 알파벳 글자의 에만 구성되어 있다면

확인하려면

if (str.matches("[abcdef]+")) 
+0

실수로 유감 스럽지만 다시 질문을 확인해 주시겠습니까? 이건 잘못 됐어. 이제는 내가 원하는 것을 설명합니다. (이미 upvoted 당신이 비록) – alkis

+0

두 솔루션을 주셔서 감사합니다. 내가 그 (것)들을 확인할 때 나는 너의 대답을 받아 들일 것이다. – alkis

+0

"[a-f] +"'범위를 사용할 수도 있습니다. –

0

확인이이 방법이 검사를 수행하는 당신에게 아이디어를 줄 것이다을이 ..을

관련 문제