Скажем, у меня есть программа, которая ищет текстовый файл на основе пользовательского ввода с использованием регулярных выражений, и я хочу, чтобы в результате появилось только несколько строк большей строки.
Я пробовал несколько методов, но он либо возвращает всю строку, либо ничего не возвращает.
Вот код:
fun getWaterMeterReadingList(viewRecordMain: ViewRecordMain, block: String, floor: String, unit: String,date:String):ArrayAdapter<String> {
var fileName = viewRecordMain.filesDir.absolutePath + "/UnitJson.json"
val inputStream: InputStream = File(fileName).inputStream()
// Read the text from buffferReader and store in String variable
val inputString = inputStream.bufferedReader().use { it.readText() }
var regex = Regex("\"Block\":\"("+block+")\",\"Floor\":("+floor+"),\"ID\":("+unit+"),\"Reading\":\"(\\S+)\",\"date\":\"("+date+")\",\"path\":\"(\\S+)\"", RegexOption.MULTILINE)
var result = regex.findAll(inputString).map{ result -> result.value }.toList()
var adapter = ArrayAdapter<String>(viewRecordMain, R.layout.listview, result)
return adapter
}
Этот шаблон возвращает:
"Block": "A », "Этаж": 1, "ID": 1, "Чтение": "123123,42", "дата": "2020.01.07", "путь": "/ хранение / Эмуляция / 0 / Фотографии / 1578377524095.jpg"
То, что я действительно хочу, чтобы оно вернулось:
Блок: A, Этаж: 1, ID: 1, Чтение: 123123.42, дата: 2020.01.07
или что-то более понятное или более простое и понятное для людей, чтобы понять. Хотелось бы знать, любая помощь будет высоко ценится.