You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin字符串忽略大小写匹配实现方法咨询(新手向)

嘿,作为Kotlin新手,你这个大小写忽略匹配的需求其实很容易解决,不用写多个if判断这么繁琐~我给你两种实用的方案:

方法1:用equals的忽略大小写重载

Kotlin的String类自带了支持大小写忽略的equals方法重载,直接设置ignoreCase = true就能搞定所有大小写组合的匹配:

fun questionFour() { 
    val edittextCountry = findViewById<EditText>(R.id.editTextCountry) 
    val answerEditText = edittextCountry.text.toString() 
    // 不管用户输入是"Brazil"、"brazil"还是"BrAzIl",都会触发判断
    if (answerEditText.equals("Brazil", ignoreCase = true)) { 
        correctAnswers++ 
    }
}

这个方法直观又简洁,适合只需要匹配单个目标字符串的场景,不需要额外做字符串转换。

方法2:统一转大小写后匹配(更灵活)

如果你以后可能需要兼容多种拼写(比如同时支持英语的"Brazil"和葡萄牙语的"Brasil"),可以把用户输入统一转成小写(或大写),再和预先定义的有效集合对比:

fun questionFour() { 
    val edittextCountry = findViewById<EditText>(R.id.editTextCountry) 
    // 将用户输入转成全小写,消除大小写差异
    val userInput = edittextCountry.text.toString().lowercase() 
    // 定义所有可接受的目标字符串(统一用小写)
    val validCountryNames = setOf("brazil", "brasil") 
    // 判断输入是否在有效集合中
    if (validCountryNames.contains(userInput)) { 
        correctAnswers++ 
    }
}

这种方式扩展性极强,以后要加更多可接受的拼写,只需要往validCountryNames集合里加元素就行,不用写一堆重复的if判断。

另外提个小细节:Kotlin里可以直接用edittextCountry.text.toString()代替edittextCountry.getText().toString(),因为Kotlin会自动把Java的getter方法转换成属性访问,代码更简洁~

内容的提问来源于stack exchange,提问作者superheron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:36:29