◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
在 java 中,可通过以下方法将字符串中的汉字提取为数组:使用正则表达式;使用 unicode 码;使用第三方库;手动遍历字符串。选用方法应根据具体需求而定。
如何将 Java 字符串中的汉字提取为数组
在 Java 中,可以使用以下方法将字符串中的汉字提取为数组:
1. 使用正则表达式:
String str = "你好,世界"; String[] hanziArray = str.split("[^\u4E00-\u9FA5]");
2. 使用 Unicode 码:
立即学习“Java免费学习笔记(深入)”;
String str = "你好,世界"; List<String> hanziList = new ArrayList<>(); for (int i = 0; i < str.length(); i++) { int codePoint = str.codePointAt(i); if (codePoint >= 0x4E00 && codePoint <= 0x9FA5) { hanziList.add(str.substring(i, i + 1)); } } String[] hanziArray = hanziList.toArray(new String[0]);
3. 使用第三方库:
可以使用 Apache Commons Lang 库中的 CharUtils.toList 方法:
String str = "你好,世界"; String[] hanziArray = CharUtils.toList(str).stream() .filter(ch -> ch >= 0x4E00 && ch <= 0x9FA5) .map(ch -> String.valueOf(ch)) .toArray(String[]::new);
4. 手动遍历字符串:
String str = "你好,世界"; String[] hanziArray = new String[str.length()]; int count = 0; for (int i = 0; i < str.length(); i++) { int codePoint = str.codePointAt(i); if (codePoint >= 0x4E00 && codePoint <= 0x9FA5) { hanziArray[count++] = str.substring(i, i + 1); } }
根据实际需求选择合适的方法即可。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。