gpt4 book ai didi

java - 检测 Java 字符串中的日语字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:21:12 28 4
gpt4 key购买 nike

我正在尝试检测 java 字符串是否包含日文字符。因为字符是否形成语法正确的句子对我来说并不重要,所以我想我会使用正则表达式来匹配字符串中的任何日文字符,如下所示:

package de.cg.javatest;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class JavaTest {

public static void main(String[] args) {
String aString = "なにげない日々。";
Pattern pat = Pattern.compile("[\\p{InHiragana}]");
Matcher m = pat.matcher(aString);
System.out.println(m.matches()); // false
}
}

但是,打印语句总是显示false。我尝试将模式更改为

[\\p{IsHiragana}]
[\\p{InHiragana}]+

而且我还手动输入了代码点。有没有我遗漏的东西,或者我必须采取另一种方法?

最佳答案

Matcher.matches仅当模式与整个字符串匹配时才返回 true。 As Anonymous commented, not all character are Hiragana characters.

通过如下更改模式,您可以检查是否有平假名。

Pattern pat = Pattern.compile(".*\\p{InHiragana}.*");

通过使用 Matcher.find , 你不需要修改模式。

Pattern pat = Pattern.compile("\\p{InHiragana}");  // [..] is not needed.
Matcher m = pat.matcher(aString);
System.out.println(m.find()); // true

关于java - 检测 Java 字符串中的日语字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26075462/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com