[英]How can I check whether a byte array contains a Unicode string in Java?
[英]How to check whether a Java String contains GSM Extended Characters (non Unicode)
我的目标:我想检查Java字符串是否包含GSM Extended中的字符。 现有代码可以成功检查GSM字符,但是我正在努力掌握如何检查GSM扩展字符,例如“ [”和“]”。
我的代码:
private static final String GSM_EXTENDED = "\u000c^{}\\[~]|\u20ac";
public static boolean isUnicode(String input) {
return !((input.matches('[' + GSM + "]*")) || (input.matches('[' + GSM_EXTENDED + "]*")));
}
结果:我的单元测试无法将']'识别为GSM扩展,此外,当从GUI输入任何GSM扩展字符时,它们都不会被识别为GSM。
在正则表达式的方括号内,连字符是特殊字符,因此您需要在GSM字符串中将其转义为"\\\\-"
。
GSM_EXTENDED字符串中的右括号(“]”)终止括号中的字符类,因此您需要将其转义为"\\\\]"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.