Maison > Java > javaDidacticiel > Comment supprimer l'échappement des littéraux de chaîne Java ?

Comment supprimer l'échappement des littéraux de chaîne Java ?

Linda Hamilton
Libérer: 2024-12-22 17:51:10
original
902 Les gens l'ont consulté

How to Unescape Java String Literals?

Comment annuler l'échappement d'un littéral de chaîne Java en Java ?

Java ne fournit pas de fonction simple pour annuler l'échappement des littéraux de chaîne. Cette tâche nécessite la conversion manuelle des séquences d'échappement de caractères en caractères correspondants.

Échappements de caractères courants

Escape Sequence Character
Backslash
n Newline
r Carriage return
t Tab
b Backspace
f Form feed
" Double quote
' Single quote

Récupération des littéraux de chaîne

Une approche pour annuler l'échappement des littéraux de chaîne consiste à utiliser une fonction personnalisée qui parcourt la chaîne, identifiant les séquences d'échappement et remplaçant avec les caractères appropriés.

public static String unescape(String str) {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (c == '\') {
            i++;
            switch (str.charAt(i)) {
                case 'n':
                    sb.append('\n');
                    break;
                case 'r':
                    sb.append('\r');
                    break;
                case 't':
                    sb.append('\t');
                    break;
                case 'b':
                    sb.append('\b');
                    break;
                case 'f':
                    sb.append('\f');
                    break;
                case '\"':
                    sb.append('\"');
                    break;
                case '\'':
                    sb.append('\'');
                    break;
                case '\':
                    sb.append('\');
                    break;
                default:
                    sb.append(c); // Unrecognized escape sequence
            }
        } else {
            sb.append(c);
        }
    }
    return sb.toString();
}
Copier après la connexion

Exemple :

String original = "\\"Hello, World!\\"";
String unescaped = unescape(original);
System.out.println(unescaped); // Output: "Hello, World!"
Copier après la connexion

Bibliothèques pour l'échappement de chaînes

Un tiers Les bibliothèques -party fournissent également des fonctions pour annuler l'échappement des littéraux de chaîne. Par exemple, la bibliothèque Apache Commons Lang a la méthode suivante :

public static String unescapeJava(String str)
Copier après la connexion

Cette méthode peut être utilisée pour annuler l'échappement des littéraux de chaîne Java, y compris les séquences d'échappement non couvertes par l'approche de base mentionnée ci-dessus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal