Android 如果字符串的最后一个字符包含此数组Kotlin
Android 如果字符串的最后一个字符包含此数组Kotlin,android,android-studio,kotlin,jvm,Android,Android Studio,Kotlin,Jvm,如果(某些字符串以(X,Y,Z)数组中的字符结尾){ 做… } 试图使用 var test = "Some string Z" if (test.isNotEmpty() && test.last() in arrayOf('X', 'Y', 'Z')) //check if the last char == 'X' || 'Y' || 'Z' { test = test.dropLast(1) + 'A' // if yes replace wit
如果
(某些字符串以(X,Y,Z)数组中的字符结尾){做…
}
试图使用
var test = "Some string Z"
if (test.isNotEmpty() && test.last() in arrayOf('X', 'Y', 'Z')) //check if the last char == 'X' || 'Y' || 'Z'
{
test = test.dropLast(1) + 'A' // if yes replace with `A`
}
但是android给出了一个编译错误:e:org.jetbrains.kotlin.codegen.CompilationException:后端(JVM) 内部错误: 搜索任何其他解决方案尝试使用正则表达式
var test = "Some string Z"
val array = arrayOf('X', 'Y', 'Z')
if (test.matches(".*(${array.joinToString("|")})$".toRegex())) {
test = test.dropLast(1) + 'A'
}
忽略区分大小写的好处
//...
val array = arrayOf('x', 'Y', 'z')
if (test.matches(".*(${array.joinToString("|")})$".toRegex(RegexOption.IGNORE_CASE))) {
//...
尝试使用正则表达式
var test = "Some string Z"
val array = arrayOf('X', 'Y', 'Z')
if (test.matches(".*(${array.joinToString("|")})$".toRegex())) {
test = test.dropLast(1) + 'A'
}
忽略区分大小写的好处
//...
val array = arrayOf('x', 'Y', 'z')
if (test.matches(".*(${array.joinToString("|")})$".toRegex(RegexOption.IGNORE_CASE))) {
//...
这回答了你的问题吗?请检查原始问题中的答案:我问了这个问题,这些都没有帮助我。如果你的问题是关于编译异常的,那应该在你问题的标题中。否则,这看起来像是您现有问题的重复,可能会被关闭。此代码在Android Studio中运行良好。这是否回答了您的问题?请检查原始问题中的答案:我问了这个问题,这些都没有帮助我。如果你的问题是关于编译异常的,那应该在你问题的标题中。否则,这看起来像是您现有问题的重复,可能会被关闭。此代码在Android Studio中运行良好。您是否指定了最后一个字符?如果最后一个字符包含array@Lλmbdλ这将只搜索最后一个字符。您是否指定了最后一个字符?如果最后一个字符包含array@Lλmbdλ这将只搜索最后一个字符