1

프로그래밍 방식으로 GPS (위도/경도)에서 위치 주소를 수신하고 있습니다. 그러나 때로는 특수/원치 않는 문자가 포함 된 위치 주소를 수신합니다.안드로이드 GPS에서 위도/경도 위치를 가져 오는 동안 문자열의 쓰레기 문자를 피하는 방법

특수 문자/원치 않는 문자가 포함 된 주소를 서버에 보내면 서버에서 거부합니다.

예 1 : , 델리, AA ½

예 2 :  ठ•

¥ सà가 어떻게이 문제를 방지 할 수 있습니까?

답변

0

이 문제를 피하기 위해 regex를 사용할 수 있으며 모든 문자는 US-ASCII 코드 포인트 유형입니다.

String testText [] = new String[] { "delhi", "中�", 
    "à¤", "à¥à¤• ", "tessst½", "some valid test text1213" 
}; 

for (String str : testText) { 
    if (str.matches("\\A\\p{ASCII}*\\z")) { 
     //do something 
     Log.d("TAG", str + " - String is valid"); 
    } 
} 

자바 (8)를 사용하는 경우는이 방법으로 수행 할 수 있습니다

이 경우
textInfoFromLocation.chars().allMatch(c -> c < 128) 

당신은 단지 각 문자를 확인하려면 다음을 수행하십시오 :

for (Character c : str.toCharArray()) { 
    if (c > 127) //character is invalid 
     Log.d("TAG","Character " + c + " is invalid"); 
} 

더 정보는 여기에서 찾을 수 있습니다 answer

+0

감사합니다. 나는 이것을 시도했다. 여기서 진실/거짓만을 얻고 있습니다. 나는 위의 시도, 델리, ä¸å? ½이 문자열을 확인합니다. 거짓말 만하고있다. 심지어, 난 정크 문자에서 문자열을 필터링하고 싶습니다. – harikrishnan

관련 문제