如果某些String以arrayOf(X, Y, Z)
中的字符结尾,我想用新的char A
替换它。我不知道该怎么做,我尝试过的所有方法都不起作用。
最佳答案
您可以这样做:
var test = "Some string Z"
if (test.lastOrNull() in arrayOf('X', 'Y', 'Z')) //check if the last char == 'X' || 'Y' || 'Z'
{
test = test.dropLast(1) + 'A' // if yes replace with `A`
}
println(test) // "Some string A"
或使用扩展功能:
fun String.replaceLast(toReplace: CharArray, newChar: Char): String
{
if (last() in toReplace)
{
return dropLast(1) + 'A'
}
return this
}
//Test
val oldTest = "Some string Z"
val newTest = oldTest.replaceLast(charArrayOf('X', 'Y', 'Z'), 'A')
println(newTest) // "Some string A"