在 Java 中,可通过以下方法将字符串中的汉字提取为数组:使用正则表达式;使用 Unicode 码;使用第三方库;手动遍历字符串。选用方法应根据具体需求而定。

如何将 Java 字符串中的汉字提取为数组
在 Java 中,可以使用以下方法将字符串中的汉字提取为数组:
1. 使用正则表达式:
<code class="java">String str = "你好,世界";
String[] hanziArray = str.split("[^\u4E00-\u9FA5]");</code>2. 使用 Unicode 码:
立即学习“Java免费学习笔记(深入)”;
<code class="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]);</code>3. 使用第三方库:
可以使用 Apache Commons Lang 库中的 CharUtils.toList 方法:
<code class="java">String str = "你好,世界";
String[] hanziArray = CharUtils.toList(str).stream()
.filter(ch -> ch >= 0x4E00 && ch <= 0x9FA5)
.map(ch -> String.valueOf(ch))
.toArray(String[]::new);</code>4. 手动遍历字符串:
<code class="java">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);
}
}</code>根据实际需求选择合适的方法即可。











