2011-10-19 3 views
6

현재 문자 위치에 공백, 개행 또는 탭이 있는지 확인하려고합니다. 공백은 작동하지만 탭과 줄 바꿈은 사용하지 않습니다. 이동하십시오, 나는 그들을 위해 이스케이프를 사용하고 있으며 공간을위한 단지 일정한 공간 ...이 위치에서 이들을 찾는 올바른 방법은 무엇입니까?charAt()를 사용하여 공백, 개행 및 탭 찾기

if(String.valueOf(txt.charAt(strt)).equals(" ") || 
        txt.charAt(strt) == '\r' || 
        txt.charAt(strt) == '\n' || 
        txt.charAt(strt) == '\t') { 
    //do stuff 
        } 
+0

'txt'란 무엇입니까? 그리고 만약 그것이'String'이라면 ... 왜'String.valueOf()'를 사용하고 있습니까? –

+0

브라이언 : 호환되지 않는 유형에 대해 불평하지 않으면 (그리고 '' '는 입력하기가 어려웠습니까?) – Amadan

+0

txt는 편집 가능 – bwoogie

답변

8

이 나를 위해 작동합니다 : 그것은 따라하기 조금 단단하지만 너의 역시 작동

char c = txt.charAt(strt); 
    if (c == ' ' || c == '\t' || c == '\n' || c == '\r') 
    System.out.println("Found one at " + strt); 

. 왜 그것이 당신을 위해 작동하지 않습니다 모르겠어요 - 어쩌면 문자열이 심하게 형성? 실제로 탭과 물건이 있는지 확인 하시겠습니까?

+0

이 비용 절감 비교 방법으로 변경되었습니다. – bwoogie

1

입력 문자열을 확인하십시오. 또한 공백 문자를 비교하여 공백을 검사 할 수 있습니다. 비교를 위해서만 새로운 String 객체를 만드는 것은 비용이 많이 든다.

+0

...는 각 문자를 네 번 추출하는 것과 같습니다. – Amadan

0

android의 Editable에 대한 문서를 보면 char을 반환합니다. 따라서 ...

if (txt.charAt(strt) == ' ' || 
    txt.charAt(strt) == '\r' || 
    txt.charAt(strt) == '\n' || 
    txt.charAt(strt) == '\t') 
{ 
    //do stuff 
} 

예상되는 결과를 얻을 수 있습니다.

관련 문제