Как заменить подстроку в двойных скобках в Java? - PullRequest
0 голосов
/ 22 сентября 2011

Мне нужно заменить подстроку в двойных скобках на пустую. Я использую:
source = source.replaceAll("\(.+?\)", "");

Подстроки в одинарных скобках удаляются. Вместо этого, когда я пытаюсь использовать подстроку в двойных скобках, вся подстрока удаляется, но последняя ')' остается.
Что здесь не так?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

+?означает, что ваше совпадение будет принимать минимум возможного количества символов, то есть оно будет захватывать внутренний оператор в скобках.

Попробуйте:

source = source.replaceAll("\(?\(.+?\)\)?", "");

I 'мы только что обернули ваше регулярное выражение с \(? и \)?.

1 голос
/ 22 сентября 2011

source.replaceAll("\(\([^\(]*\)\)", "");?

(не тестировалось)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...