当前位置: 首页 > 图灵资讯 > 技术篇> java字符串中的汉字怎么放在数组

java字符串中的汉字怎么放在数组

来源:图灵教育
时间:2024-11-24 14:32:56
在 java 中,可通过以下方法将字符串中的汉字提取为数组:使用正则表达式;使用 unicode 码;使用第三方库;手动遍历字符串。选用方法应根据具体需求而定。

java字符串中的汉字怎么放在数组

如何将 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);
    }
}

根据实际需求选择合适的方法即可。

以上就是java字符串中的汉字怎么放在数组的详细内容,更多请关注图灵教育其它相关文章!