Java用\\ p {Katakana}正则表达式替换日语字符

时间:2016-07-10 14:33:44

标签: java regex replaceall

我已遵循link

用户“slevithan”使用\p{Katakana}

提供
public static void main(String[] args) {
    String str = "マイポケット (1).csv";
    str=    str.replaceAll(  "[\\p{Katakana}]", "_");//.replaceAll("\\p{Z}", "_");
    System.out.println(str);
}

但是我收到了错误:

Exception in thread "main" java.util.regex.PatternSyntaxException: Unknown character property name {Katakana} near index 12
[\p{Katakana}]

我正在使用java 8。 使用String replaceAll检查日语字符的正确语法是什么?

2 个答案:

答案 0 :(得分:0)

使用负面预测时,最好的解决方案是使用此正则表达式。

str.replaceAll("(?![-,.,/p{Han}/p{Hiragana}/p{Katakana},\\p{IsAlphabetic}\\p{IsDigit}])[\\p{Punct}\\s]", "_");

答案 1 :(得分:-1)

我需要支持英文和日文字母

正则表达式起到了作用:

str.replaceAll(  "[/p{Han}/p{Hiragana}/p{Katakana}&&[^\\.^\\p{IsAlphabetic}^\\p{IsDigit}^-]]", "_");
相关问题