Используя Java, я пытаюсь заменить вхождение одной строки на другую.Это работает в большинстве случаев.Но иногда эта определенная строка не заменяется в данном контенте.
Когда я выполняю поиск определенной строки в данном контенте с помощью метода indexOf, я могу правильно получить индекс этой строки.Но когда я использую метод replaceFirst для замены этой строки, операция заканчивается неудачей.
Затем я попытался заменить, используя следующую, чтобы убежать от escape-символов.
cont = Pattern.compile(str, Pattern.LITERAL).matcher(cont)
.replaceFirst(Matcher.quoteReplacement("replace string"))
Позволяет нам принятьниже содержание в качестве примера
Чтобы посмотреть изображения животных, посетите этот сайт http://www.example.net/animals/cat_345_456.JPG.Также более подробную информацию можно найти по этой ссылке также http://www.moredetails.com/example/imgs/nwr_1453446_83223_429054_1603367_42.PNG?Id=1450686&lid=423454&idp=4402767&ps=4563223&circle=4&type=2&zw=264&zh=150&v=5&url=NA&uid=.Спасибо, что посетили нас.
В приведенном выше содержании Сначала я присваиваю str значение http://www.example.net/animals/cat_345_456.JPG, а затем вызываю метод replace first.
В этом случае ожидается замена строкиправильно.
Тогда теперь я назначаю str со значением http://www.moredetails.com/example/imgs/nwr_1453446_83223_429054_1603367_42.PNG?Id=1450686&lid=423454&idp=4402767&ps=4563223&circle=4&type=2&zw=264&zh=150&v=5&url=NA&uid= и вызываю метод замены первый.
Но на этот раз он не был заменен.Но когда я использую метод String.indexof, он правильно дает порядковый номер этой строки.
Я что-то пропустил?
Пожалуйста, помогите.Заранее спасибо.