Есть вот такая строчка
"rows":[{"id":"663860","values":...}
Мне нужно удалить первые 6 символов (rows":[). Для этого я пишу
string.replaceAll("\"rows\":\\[","");
Но ничего не происходит. Почему, что не так?
String#replace() не модифицирует строку, на которой вызывается, но возвращает изменённую строку. Т.е. надо так:
String string = ...;
string = string.replaceAll("\"rows\":\\[","");
Во-первых, если у вас JSON или что-то подобное на входе, то настоятельно рекомендуется использовать соответсвующие парсеры, а не изобретать велосипед. Во-вторых, рекомендовано использовать replace вместо replaceAll, потому как последний работает на регулярных выражениях, а они не самые быстрые. В-третьих, если вы все таки хотите дальше изобретать велосипед, то в данном конкретном случае Ваше выражение не работает по причине наличия в исходной строке спец. символов. Там появляются танцы с бубном в виде экранирования, но , его вы используете в самом реплейсе, а контроля над созданием исходной строки у вас нет. А проблема именно оттуда. Поэтому лучше схитрите и напишите в качестве изобретенного велосипеда вот так string.substring(string.indexOf("[")+1); Так вы удалите все до первых квадратных скобок включительно.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники