Kotlin从属性文件生成地图列表

时间:2018-04-09 20:58:17

标签: regex list kotlin

我有一个包含大量数据的属性文件。

有些数据是这样的

//fruits
banana = '5.5'
apples = '3.6f'
//vegies
carrots = '42.4r'
tomatoes = '3.4.s2'
//There are comments and other text in file

等等

每次在=符号的左侧有值时,我需要映射索引/列表,并将地图/列表获取到单引号之间的值。

稍后我想使用列表或地图打印其值

1 个答案:

答案 0 :(得分:1)

这样的东西?

fun main(args: Array<String>) {
    val input = """banana = '5.5'
        apples = '3.6f'
        //vegies
        carrots = '42.4r'
        tomatoes = '3.4.s2'"""

    val props = Properties()
    props.load(ByteArrayInputStream(input.toByteArray(StandardCharsets.UTF_8)))
    props.filterValues { it?.toString()?.isNotBlank() ?: false }.toList()
              .forEach { println(it) }
}