Kotlin 使用readLine按用户输入搜索列表

Kotlin 使用readLine按用户输入搜索列表,kotlin,Kotlin,我想在列表中搜索,只返回与使用readLine查询的输入匹配的条目。以下代码仅在用户键入列表中的全名时有效,而我希望他们能够输入“s”并检索所有带有字母s的名称。我应该使用for循环吗 fun main(args: Array<String>) { var names = arrayListOf( "Nathan", "Gerald", "Winchester", "Razi", "Tetsuo",

我想在列表中搜索,只返回与使用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)
fun main(args:Array){
var name=arrayListOf(
“内森”,
“杰拉尔德”,
“温彻斯特”,
“拉齐”,
“铁锁”,
“鲍勃”,
“兰迪克”,
“贾卡法”,
“帕拉莫夫”,
“扎克逊”)
打印(“输入搜索查询:”)
val术语:字符串?=readLine()!!.toString()
val输出=名称.过滤器{it==术语}
println(输出)

}

只需更改过滤条件:

val output = names.filter { it.contains(terms) }
您可以执行不区分大小写的匹配:

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