我想替换另一个字符串中的字符串,但只替换最后找到的字符串.例如:
"ONE, TWO, THREE, FOUR".replaceLast(",", " &") // Outputs: "ONE, TWO, THREE & FOUR"
我想替换另一个字符串中的字符串,但只替换最后找到的字符串.例如:
"ONE, TWO, THREE, FOUR".replaceLast(",", " &") // Outputs: "ONE, TWO, THREE & FOUR"
要只替换Kotlin字符串中最后一个出现的子字符串,可以使用扩展函数.下面是一个完成此任务的Kotlin扩展函数:
Kotlin:个
fun String.replaceLast(oldValue: String, newValue: String): String {
val lastIndex = lastIndexOf(oldValue)
if (lastIndex == -1) {
return this
}
val prefix = substring(0, lastIndex)
val suffix = substring(lastIndex + oldValue.length)
return "$prefix$newValue$suffix"
}
fun main() {
val input = "ONE, TWO, THREE, FOUR"
val result = input.replaceLast(",", " &")
println(result) // Output: "ONE, TWO, THREE & FOUR"
}
Java:个
public class Main {
public static String replaceLast(String input, String oldValue, String newValue) {
int lastIndex = input.lastIndexOf(oldValue);
if (lastIndex == -1) {
return input;
}
String prefix = input.substring(0, lastIndex);
String suffix = input.substring(lastIndex + oldValue.length());
return prefix + newValue + suffix;
}
public static void main(String[] args) {
String input = "ONE, TWO, THREE, FOUR";
String result = replaceLast(input, ",", " &");
System.out.println(result); // Output: "ONE, TWO, THREE & FOUR"
}
}