题
如何确定String是否仅包含字母表,并且我希望只有[a-zA-Z] +,那么有没有办法通过Locale确定字母?
解决方案
Character
类具有等方法 isLetter
,它将能够确定字符是否是方法的API规范中定义的字母。
还有另一种使用的方法 Character.UnicodeBlock
类,它能够返回角色是否在 Unicode 。
例如,我必须确定角色是否为全角片假名角色,为了能够这样做,我不得不使用 Character.UnicodeBlock.of
方法:
boolean isKatakana =
Character.UnicodeBlock.of(c) == Character.UnicodeBlock.KATAKANA;
另外,要添加,可以使用 String 的某个索引处的字符。 api / java / lang / String.html #charAt(int)“rel =”noreferrer“> charAt(int)
方法,并且可以检索Unicode代码点href =“http://java.sun.com/javase/6/docs/api/java/lang/String.html#codePointAt(int)"rel =”noreferrer“> codePointAt(int)
方法。
其他提示
另外看一下com.ibm.icu.text包。例如,此代码段返回定义语言的所有字母:
ULocale ulocale = com.ibm.icu.util.ULocale
.forLocale(Locale.forLanguageTag(language));
UnicodeSet set = LocaleData.getExemplarSet(ulocale, LocaleData.ES_STANDARD);
Iterator<String> iterator = set.iterator();
StringBuffer buf = new StringBuffer();
while (iterator.hasNext()) {
buf.append(iterator.next());
}
return buf.toString();
使用java。* packages无法访问此任务。
不隶属于 StackOverflow