Имею текст: "mech:type":"Car", "что-то":"ответ на что-то"
Как мне "отфильтровать" его, т.е. оставить только "Car" и "Ответ на что-то"?
Id у двух TextView: tView1 и tView2
Можно парсить это как JSONObject. Но я пишу как работать просто со строкой, имеющей строго указанную структуру. У меня строка находится в строковых ресурсах.
//ищем границу между первой и второй частями
String string = getString(R.string.json);
int index = string.indexOf(",");
//узнаем информацию о машине
String carString = string.substring(0, index);
carString = carString.substring(carString.lastIndexOf(":") + 1);
//узнаем ответ на что-то
String somethingString = string.substring(index + 1);
somethingString = somethingString.substring(somethingString.lastIndexOf(":") + 1);
Надеюсь, установить значения для соответствующих текствьюх вы сможете самостоятельно)
Можно сделать через регулярные выражения, например:
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
private static final Pattern PATTERN = Pattern.compile(":\"(\\w+|\\W+)\"");
private static final String TEXT = "\"mech:type\":\"Car\", \"что-то\":\"ответ на что-то\"";
public static void main(String[] args) {
Matcher matcher = PATTERN.matcher(TEXT);
List<String> results = new ArrayList<>();
while (matcher.find()) {
results.add(matcher.group(1));
}
System.out.println(results);
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости