1

我以编程方式从 GPS(纬度/经度)接收位置地址;但是,有时我会收到带有特殊/不需要的字符的位置地址。

当我将包含特殊/不需要的字符的地址发送到服务器时,它们被服务器拒绝。

示例 1 :,德里,ä¸å?½

示例 2:सॠक

我怎样才能防止这个问题?

4

1 回答 1

0

您可以使用正则表达式来避免此问题,并匹配所有 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");
    }
}

如果您使用的是 Java 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");
}

更多信息可以在这个答案中找到

于 2016-10-13T05:59:56.270 回答