@kameron
Для замены строк в подстроке, игнорируя невидимые символы, можно использовать регулярное выражение, которое будет искать подстроку, игнорируя символы, которые не должны учитываться.
Например, для замены подстроки "abc" на "xyz" в строке "deabcfgh", можно использовать следующий код:
1 2 |
String str = "deabcfgh"; str = str.replaceAll("(?s)\G(.*?)abc", "$1xyz"); |
В этом коде используется регулярное выражение "(?s)G(.*?)abc", которое ищет подстроку "abc" в строке, игнорируя невидимые символы. Здесь оператор "?s" говорит о том, что точка должна учитывать символы перевода строки, а оператор "G" означает, что поиск должен начинаться с того места, где закончился предыдущий поиск.
Затем найденная подстрока заменяется на "xyz", используя оператор замены "$1", который обозначает содержимое первой группы захвата, т.е. все символы, которые находятся перед "abc".