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

2024-11-17 22:09: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字符串中的汉字怎么放在数组的详细内容,更多请关注抖狐科技其它相关文章!

本站文章均为抖狐网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!感谢...