2013-09-11 3 views
1

привет У меня есть строка, как это:запросов относительно регулярного выражения

String s = "@Path(\"/BankDBRestService/customerExist(String")\"; 

Я хочу, чтобы сделать эту строку как

@Path("/BankDBRestService/customerExist") 

Я попытался это:

String foo = s.replaceAll("[(](.*)", ""); 

я получаю как

@Path 

кто может предоставить мне reqular выражение, чтобы сделать эту работу

+0

Пожалуйста, избегайте цитат внутри строкового литерала. И, похоже, у вас есть несбалансированные круглые скобки. Это ошибка? –

+0

oops sorry, я просто скопировал строку вывода в String s, чтобы продемонстрировать здесь. – FooBar

ответ

0

Попробуйте это:

String s = "@Path(\"/BankDBRestService/customerExist(String\")"; 
String res = s.replaceAll("[(]([a-zA-Z_])+", ""); 
System.out.println(res); 

Выход: @Path("/BankDBRestService/customerExist")

Если строка "@Path(\"/BankDBRestService/customerExist(String)\")" т.е. с закрытой круглой скобкой, затем используйте регулярное выражение [(]([a-zA-Z_])+[)]

+0

Большое спасибо, ты сделал мой день. Это сработало!! :) – FooBar

+0

вы можете [принять один ответ] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), если он работает. Либо Евгений, либо мой :) –

0

попробовать это

String foo = s.replaceAll("(.*)\\(.*\\)", "$1"); 
+0

Это тоже сработало спасибо большое :) – FooBar

Смежные вопросы