我已遵循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检查日语字符的正确语法是什么?
答案 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}^-]]", "_");