Заменитьс / в заводной - PullRequest
0 голосов
/ 16 мая 2019

Я знаю, что это очень специфический вопрос, мне не удалось выполнить замену самостоятельно, мне нужно заменить эту строку на groovy:

com.pantest in com / pantest .

Я пробовал это:

groupId =com.pantest
def mavenGroupID = groupId.replaceAll('.','/')

И вот что я получаю в выводе:

echo mavenGroupID is //////////
mavenGroupID is //////////

Является ли точка (.) это какой-то особенный персонаж?Я пытался избежать этого с помощью ****, но это также не сработало.

1 Ответ

1 голос
/ 16 мая 2019

Как упомянуто в комментариях, String.replaceAll принимает в качестве входных данных регулярное выражение, поэтому это означает, что вам нужно хотя бы экранировать точку, но на самом деле вы также должны избежать экранирования обратной косой черты \ (больше подсказок в Регулярном выражении, чтобы соответствовать точке )

, поэтому вы можете сделать это следующим образом:

def test = "aaa.bbb.ccc"
//want to replace ., need to use escape char \, but it needs to be escaped as well , so \\
println test.replaceAll('\\.','/')

Вывод соответствует запросу aaa/bbb/ccc

replaceAll('\\.','/') является ключом

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