Estoy teniendo un problema muy extraño en este momento, el replaceAll
falta el método String
objeto.
Versión JDK: 1.8.0
Versión de estudio de Android: 3.1.3
Versión de Kotlin: 1.2
no ha sido eliminadoentonces, ¿qué está pasando aquí?
zsmb13
Puedes hacer esto con solo replace
en Kotlin:
"foo and foo".replace("foo", "bar") // "bar and bar"
Tenga en cuenta que la llamada anterior reemplaza las cadenas literales, si necesita una Regex
como primer parámetro puede hacer cualquiera de las siguientes cosas:
"foo and bar".replace("[abcd]".toRegex(), "x") // "foo xnx xxr"
"foo and bar".replace(Regex("[abcd]"), "x") // "foo xnx xxr"
-
¿Qué hago si reemplazo con
$1
¿como aquí? stackoverflow.com/a/40487511/2111778– xjcl
23 de noviembre de 2020 a las 23:30
Kotlin tiene su propia clase String. Todos los métodos de reemplazo son solo replace
.
replaceAll
en Java usa expresiones regulares, así que asumo que su objetivo es usar expresiones regulares. Para hacer esto, simplemente use un objeto regex cuando pase a replace:
sb.toString().replace("your regex".toRegex(), "replacement");
Si no tiene expresiones regulares (y eso está mal), no llame .toRegex()
:
sb.toString().replace("replace target", "replacement");
Kotlin tiene replaceAll como reemplazo:
actual fun String.replace(
oldChar: Char,
newChar: Char,
ignoreCase: Boolean = false
): String (source)
Devuelve una nueva cadena con todas las apariciones de oldChar reemplazadas por newChar.
¿Java o JavaScript?
– Halayem anís
20 de junio de 2018 a las 10:29
@HalayemAnisJava
– olfek
20 de junio de 2018 a las 10:29
@HalayemAnis es Kotlin. Kotlin es un lenguaje JVM, lo que significa que utiliza API de Java (la razón por la que está etiquetado como Java)
– Zoe apoya a Ucrania
♦
20 de junio de 2018 a las 10:29
@daka Eso es un kotlin
String
no un javaString
. Kotlin acaba dereplace
– Federico Klez Culloca
20 jun 2018 a las 10:30
el kotlin
replace
La función puede aceptar unRegex
argumento. no necesitareplaceAll
.– khelwood
20 de junio de 2018 a las 10:31