限制中文引用正则的默认语句 str.replaceAll(regex,""),不是将中文全替换了吗?
我试了下,中文没法输入。(用的是只传入EDITTEXT参数的方法)。
求解惑。
限制中文引用正则的默认语句 str.replaceAll(regex,""),不是将中文全替换了吗?
我试了下,中文没法输入。(用的是只传入EDITTEXT参数的方法)。
求解惑。
import android.text.Editable
import android.text.TextWatcher
import android.widget.EditText
fun main() {
val editText = EditText(null) // 假设这是你的 EditText 控件
editText.addTextChangedListener(object : TextWatcher {
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
override fun afterTextChanged(s: Editable?) {
s?.let {
val regex = Pattern.compile("[\\u4e00-\\u9fa5]+")
val result = regex.matcher(it.toString()).replaceAll("")
editText.setText(result)
editText.setSelection(result.length)
}
}
})
}