我的问题是我想检查字符串是否与 ASCII 字符集匹配。
我试图在我的android项目中使用Guava库。问题是这个库有太多的重量(安装的应用程序大小为41 MB, Guava 库变为45MB)。
从 Guava 库我只需要这个:
CharMatcher.ascii().matchesAllOf();
您有什么想法我应该如何正确检查我的字符串,还是有其他轻量级的库?
谢谢!
答案 0 :(得分:2)
java代码是:
sr.Close();
csvread.Dispose();
sr.Dispose();
参考:http://www.java2s.com/Code/Java/Data-Type/ChecksifthestringcontainsonlyASCIIprintablecharacters.htm
答案 1 :(得分:-1)
你可以试试这个:
private static boolean isAllASCII(String input) {
boolean isASCII = true;
for (int i = 0; i < input.length(); i++) {
int c = input.charAt(i);
if (c > 0x7F) {
isASCII = false;
break;
}
}
return isASCII;
}
ref In Java, is it possible to check if a String is only ASCII?
答案 2 :(得分:-2)
从RealHowTo&#39; answer到In Java, is it possible to check if a String is only ASCII?
您可以使用java.nio.charset.Charset完成此操作。
import java.nio.charset.Charset; import java.nio.charset.CharsetEncoder; public class StringUtils { static CharsetEncoder asciiEncoder = Charset.forName("US-ASCII").newEncoder(); // or "ISO-8859-1" for ISO Latin 1 public static boolean isPureAscii(String v) { return asciiEncoder.canEncode(v); } public static void main (String args[]) throws Exception { String test = "Réal"; System.out.println(test + " isPureAscii() : " + StringUtils.isPureAscii(test)); test = "Real"; System.out.println(test + " isPureAscii() : " + StringUtils.isPureAscii(test)); /* * output : * Réal isPureAscii() : false * Real isPureAscii() : true */ } }