Kotlin:
Removendo aspas de uma string

Como fazer:

Aqui está uma maneira simples de remover ambos os tipos de aspas de uma string em Kotlin:

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

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

E se você quiser remover apenas um tipo de aspas, basta pular a outra chamada de replace.

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)) // Saída: Kotlin rocks it's 'cool'
    println(removeSingleQuotes(stringWithQuotes)) // Saída: Kotlin "rocks" its cool
}

Aprofundando

Historicamente, lidar com strings e escapar caracteres tem sido uma parte central da programação, já que o texto é uma forma fundamental de interagirmos com dados. As vezes, as aspas dentro de strings precisam ser escapadas. Isso é indicado por uma barra invertida precedendo (por exemplo, "Ela disse, \"Oi!\""). Ao processar tais strings, você pode precisar remover os caracteres de escape, ou as próprias aspas para um texto mais limpo ou mais utilizável.

Alternativas ao método replace incluem remoção baseada em regex ou análise manual da string, caractere por caractere. No entanto, regex pode ser exagero para operações simples e a análise manual é menos eficiente do que usar funções de string incorporadas. A função replace do Kotlin aproveita o método replace da String do Java subjacente, que é bem otimizado para desempenho.

Em termos de implementação, vale mencionar que o Kotlin é interoperável com Java, então, de fato, quaisquer operações que você realize em strings são tão performáticas quanto seriam em Java. É crucial, ao remover aspas, estar ciente de casos extremos, como aspas aninhadas, que poderiam requerer uma abordagem mais sofisticada, possivelmente utilizando expressões regulares ou uma biblioteca de análise.

Veja Também

Para mais contexto sobre o manuseio de strings em Kotlin, você pode conferir a documentação oficial:

Para aprofundamentos em expressões regulares e análise em Kotlin: