使用readLine通过用户输入搜索列表

时间:2018-07-30 02:09:58

标签: kotlin

我想搜索一个列表,并仅使用readLine返回与查询的输入匹配的条目。以下代码仅在用户键入列表中的全名时才有效,而我希望他们能够输入's'并检索所有带有字母s的名称。我应该改用for循环吗?

fun main(args: Array<String>) {

var names = arrayListOf(
        "Nathan",
        "Gerald",
        "Winchester",
        "Razi",
        "Tetsuo",
        "Bob",
        "Ryandick",
        "Jacafar",
        "Palamov",
        "Zaxon")

    print("Enter search query: ")
    val terms:String? = readLine()!!.toString()
    val output = names.filter{it == terms}
    println(output)

}

1 个答案:

答案 0 :(得分:1)

只需更改过滤条件:

val output = names.filter { it.contains(terms) }

您可以执行不区分大小写的匹配:

val output = names.filter { it.contains(terms, true) }