Мне приходят данные в txt в виде:
[json-massive1] text1 [json-massive2] text2 [json-massive3]
и т.д. по 100-200 в файле. Мне надо привести инфу к виду:
[json-massive1] mytext1 [json-massive2] mytext2 [json-massive3]
т.е. менять text на mytext между всеми символами "]" "[".
Я могу заменить значения между первым и вторым массивом:
s1 = s.substring(s.indexOf("]") + 1);
s1 = s1.substring(0, s1.indexOf("["));
s2 = s.replace(s1, ",\"mytext\"" + 1 + ":" + "\n");
s - весь текст в файле.
Но не понимаю как правильно сделать цикл для большего количества, подскажите пожалуйста, как это лучше сделать?
Ещё один простой способ изменить text1...text(n) на mytext1...mytext(n) используя тот же Pattern
int index = 1;
Pattern pattern = Pattern.compile("\\s"); //указываем пробел в качестве разделителя
String[] temp = pattern.split(text); //где text - текст файла преобразованный в String
for(int i = 0; i < temp.length; i++) {
if(temp[i].equals("text" + index)) {
temp[i] = "mytext" + index;
index++;
}
}
Далее , если необходимо, записываем в файл с помощью классов FileWriter и BufferedWriter. Выглядит примитивно но дает нужный результат
Вот регулярка:
\](.*?)\[
С её помощью Вы можете найти все текстовые значения между [json-massive].
// Инициализация
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(source);
// Обход совпадений с регуляркой
while (matcher.find())
{
// Получаем найденный текст
String text = matcher.group();
// Далее формируем строку
. . .
}
Как-то так.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется метод StringreplaceAll(String regex, String replacement)
Есть класс, где происходит сравнение двух изображений Bitmap
Видел очень много примеров создания сущностей, но почему-то всегда вместо любых числовых значений используют не примитивы, а классы-оболочкиНапример,...