我有一个运行时字符串,可以包含带有中文或日文文本的英文文本。例如约翰(汉字)我想解析这个文本并提取非英文字符。
indexOf括号返回-1。有人能指出我正确的方向吗?
String str = "John (漢字)";
int startIndex = str.indexOf("(");
int endIndex = str.indexOf(")");
答案 0 :(得分:2)
答案 1 :(得分:1)
当我运行代码时添加了几个queryset = queryset1 | queryset2
语句:
System.out.println
输出是:
public class CJKText {
public static void main(String[] args) {
String str = "John (漢字)";
int startIndex = str.indexOf("(");
System.out.println("startIndex: " + startIndex);
int endIndex = str.indexOf(")");
System.out.println("endIndex: " + endIndex);
}
}
请确认发布的代码是您在调试器中检查的代码 - 也许正如许多评论者所说,您的实际代码包含外观的字符,如Unicode 0x28和{ {3}}括号,但实际上不是那些字符代码。
答案 2 :(得分:1)
如果您只需要提取汉字/汉字部分,请尝试这样的事情:
System.out.println( str.replaceAll("\\P{IsHan}+",""));
如果您的支撑也在Han
脚本中......