просто groovy заменить все регулярные выражения в списке - PullRequest
1 голос
/ 23 января 2020

Я пытаюсь удалить лишний пробел и (2) в моем текущем списке и распечатать новый список. Но получаю ошибку для приведенного ниже кода.

def my_list = ["abc (2)","def edf","qwe erfw" ]
def my_new_list = my_list.replaceAll(~/ \([0-9]\)$/, "")
print "my_new_list : ${my_new_list}"

Ожидаемый вывод

my_new_list : [abc,def edf,qwe erfw]

Ошибка:

Caught: groovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.replaceAll() is applicable for argument types: (java.util.regex.Pattern, String) values: [ \([0-9]\)$, ]
Possible solutions: replaceAll(java.util.function.UnaryOperator)
groovy.lang.MissingMethodException: No signature of method: java.util.ArrayList.replaceAll() is applicable for argument types: (java.util.regex.Pattern, String) values: [ \([0-9]\)$, ]
Possible solutions: replaceAll(java.util.function.UnaryOperator)

1 Ответ

3 голосов
/ 23 января 2020

Вам нужно вызвать replace для каждого элемента в списке. Вы можете использовать collect или оператор *., например

my_list*.replaceAll(~/ \([0-9]\)$/, "")
...