Регулярное выражение для замены подстроки в java - PullRequest
0 голосов
/ 14 июля 2020

У меня есть список, содержащий строки, подобные приведенным ниже

/b/Xfassds12312/5324234/img1.jpg
/b/asda33CSds/765345/img1.jpg
/b/iop98plkKLJ/2421466/img1.jpg
/b/nzcbWWSJk/3424535/img1.jpg

Мне нужно заменить /b/ на /img/ в каждой строке этого списка.

Я попробовал следующий шаблон .. похоже, что он добавляется вместо замены .. не уверен, что мне не хватает

replaceFirst("(/[^/]*)", "$1" + "img");

Ответы [ 2 ]

1 голос
/ 14 июля 2020

Используйте

String output = yourString.replaceFirst("^/[^/]+", "/img");

См. proof .

ВИЗУАЛЬНО:

введите описание изображения здесь

ПОЯСНЕНИЕ:

NODE                     EXPLANATION
--------------------------------------------------------------------------------
  ^                        the beginning of the string
--------------------------------------------------------------------------------
  /                        '/'
--------------------------------------------------------------------------------
  [^/]+                    any character except: '/' (1 or more times
                           (matching the most amount possible))
0 голосов
/ 14 июля 2020

Если другие строки не прерываются, просто используйте yourString.replace("/b/", "/img/");

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