我想用另一个字符串替换字符串,但只替换最后找到的字符串。例如:
"ONE, TWO, THREE, FOUR".replaceLast(",", " &") // Outputs: "ONE, TWO, THREE & FOUR"
Run Code Online (Sandbox Code Playgroud)
小智 5
要仅替换 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"
}
Run Code Online (Sandbox Code Playgroud)
爪哇:
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"
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
166 次 |
最近记录: |