如何从表达式的开头删除括号和数字

时间:2015-04-07 13:53:26

标签: java regex

如果我在表达式的开头有一个带括号的字符串,我将如何使用正则表达式将它们与数字一起删除。 例如 我有 字符串A:

"(1) Hi How are you (2).

我希望它看起来像这样: 字符串B:

  

Hi How Are you (2).

我尝试使用

  

string.replaceAll( “^ \ p {P}”, “”);

但只做到了这一点:

  

1)你好,你好(2)。

它只删除了表达式中的第一个括号。

2 个答案:

答案 0 :(得分:6)

你可以这样做:

string = string.replaceFirst("^\\s*\\(\\d*\\)\\s*", "");

RegEx Demo

<强>解释

^     # 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)