Quotes verwijderen uit een string

Kotlin:
Quotes verwijderen uit een string

Hoe te:

Hier is een eenvoudige manier om beide soorten aanhalingstekens uit een string in Kotlin te verwijderen:

fun removeQuotes(input: String): String {
    return input.replace("\"", "").replace("'", "")
}

fun main() {
    val stringWithQuotes = "Kotlin \"rocks\" it's 'cool'"
    val stringWithoutQuotes = removeQuotes(stringWithQuotes)
    println(stringWithoutQuotes) // Uitvoer: Kotlin rocks its cool
}

En als je slechts één type aanhalingsteken wilt verwijderen, sla dan de andere vervangingsaanroep over.

fun removeDoubleQuotes(input: String): String {
    return input.replace("\"", "")
}

fun removeSingleQuotes(input: String): String {
    return input.replace("'", "")
}

fun main() {
    val stringWithQuotes = "Kotlin \"rocks\" it's 'cool'"
    println(removeDoubleQuotes(stringWithQuotes)) // Uitvoer: Kotlin rocks it's 'cool'
    println(removeSingleQuotes(stringWithQuotes)) // Uitvoer: Kotlin "rocks" its cool
}

Diepere duik

Historisch gezien is het omgaan met strings en het escapen van karakters een kernonderdeel van het programmeren geweest, aangezien tekst een fundamentele manier is waarop we met gegevens omgaan. Soms moeten aanhalingstekens binnen strings worden geëscaped. Dit wordt aangegeven met een voorafgaande backslash (bijv., "Ze zei, \"Hoi!\""). Bij het verwerken van dergelijke strings moet je misschien de escapekarakters, of de aanhalingstekens zelf verwijderen voor schonere of bruikbaardere tekst.

Alternatieven voor de replace-methode omvatten het verwijderen op basis van regex of het handmatig parseren van de string, karakter voor karakter. Echter, regex kan te ingewikkeld zijn voor eenvoudige bewerkingen en handmatig parseren is minder efficiënt dan het gebruik van ingebouwde stringfuncties. Kotlin’s replace-functie maakt gebruik van de onderliggende String replace-methode van Java, die goed geoptimaliseerd is voor prestaties.

Wat implementatie betreft, is het vermeldenswaard dat Kotlin interoperabel is met Java, dus in feite zijn alle bewerkingen die je op strings uitvoert net zo performant als in Java. Het is cruciaal om bij het verwijderen van aanhalingstekens bewust te zijn van randgevallen, zoals geneste aanhalingstekens, die een meer geavanceerde aanpak kunnen vereisen, mogelijk met gebruik van reguliere expressies of een parserbibliotheek.

Zie ook

Voor meer context over het omgaan met strings in Kotlin, kun je de officiële documentatie bekijken:

Voor diepere duiken in reguliere expressies en het parseren in Kotlin: