如果我在表达式的开头有一个带括号的字符串,我将如何使用正则表达式将它们与数字一起删除。 例如 我有 字符串A:
"(1) Hi How are you (2).
我希望它看起来像这样: 字符串B:
Hi How Are you (2).
我尝试使用
string.replaceAll( “^ \ p {P}”, “”);
但只做到了这一点:
1)你好,你好(2)。
它只删除了表达式中的第一个括号。
答案 0 :(得分:6)
你可以这样做:
string = string.replaceFirst("^\\s*\\(\\d*\\)\\s*", "");
<强>解释强>
^ # match line start
\\s* # match 0 or more spaces
\\( # match left (
\\d* # match 0 or more digits
\\) # match right )
\\s* # match 0 or more spaces
替换是空字符串。
答案 1 :(得分:1)
使用string.replaceFirst
功能。
String s = "(1) Hi How are you (2)";
System.out.println(s.replaceFirst("^\\([^)]*\\)\\s*", ""));
<强>输出:强>
Hi How are you (2)