Falta el método replaceAll de la clase Java String

2 minutos de lectura

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

ingrese la descripción de la imagen aquí

no ha sido eliminadoentonces, ¿qué está pasando aquí?

  • ¿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 Stringno un java String. Kotlin acaba de replace

    – Federico Klez Culloca

    20 jun 2018 a las 10:30


  • el kotlin replace La función puede aceptar un Regex argumento. no necesita replaceAll.

    – khelwood

    20 de junio de 2018 a las 10:31


avatar de usuario de zsmb13
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:

reemplazar en Kotlin

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.

¿Ha sido útil esta solución?