Ява - RegEx заменить все, кроме

1

Я столкнулся с проблемой использования регулярных выражений в Java. Я пытаюсь заменить все в строке, которая не соответствует моему выражению. Пример:

String string = "This is test string (1) of 10";

В принципе, мне нужно удалить все символы в строке, чтобы получить значение внутри скобок, чтобы впоследствии изменить его. Я, однако, буду работать:

string.replaceAll("^[\\([0-9]\\)]", "(" + nextNumber  +")" );

Однако это не так. Я также пробовал:

string.replaceAll("(?!\\([0-9]\\)])", "(" + nextNumber  +")" );

Кто-нибудь знает, как лучше получить значение внутри скобок, или вы могли бы рассказать мне, как я могу заменить все символы в строке, кроме значения внутри скобок?

Теги:

1 ответ

3
Лучший ответ

Можешь попробовать

string.replaceAll("\\([0-9]\\)", "(" + nextNumber  +")" );

Нет необходимости в ^, представляющем начало строки.

Если число больше одной цифры, попробуйте \\([0-9]+\\) и вы можете использовать \\d вместо [0-9]

Для получения дополнительной информации см. Шаблон Java Regex

Ещё вопросы

Сообщество Overcoder
Наверх
Меню