Maison > Java > javaDidacticiel > Comment supprimer les littéraux de chaîne Java : API Java ou solution personnalisée ?

Comment supprimer les littéraux de chaîne Java : API Java ou solution personnalisée ?

Barbara Streisand
Libérer: 2025-01-05 01:41:41
original
546 Les gens l'ont consulté

How to Unescape Java String Literals: Java API or Custom Solution?

Comment récupérer un littéral de chaîne Java en Java ?

Problème :

Lors du traitement du code source Java à l'aide de Java, vous rencontrez le besoin d'extraire des littéraux de chaîne pour les transmettre à une fonction qui accepte une chaîne. Cependant, vous avez besoin de la version sans échappement de la chaîne, où les caractères tels que n sont convertis en nouvelles lignes et sont convertis en single , etc.

Fonction API Java

Question : Existe-t-il une fonction dans l'API Java qui peut effectuer cette suppression ?

Réponse : Malheureusement, la méthode org.apache.commons.lang.StringEscapeUtils.unescapeJava() présente certaines limitations :

  • Elle ne prend pas en charge null.
  • Elle ne peut pas gérer l'octal s'échappe.
  • Il ne prend pas en charge les points de code Unicode logiques, uniquement pour UTF-16.

Solution personnalisée

Question : Existe-t-il un moyen personnalisable d'obtenir cette fonctionnalité à partir d'une bibliothèque ou de l'écrire vous-même ?

Réponse : Oui, vous pouvez créer votre propre programme de suppression de chaîne qui répond aux limitations du code Apache. Voici un exemple :

// Code provided by user in the answer
Copier après la connexion

Cette unescaper personnalisée fournit :

  • Prise en charge des évasions octales ( , N, etc.) jusqu'à 777.
  • " ! " modèles préfixés pour les échappements non pris en charge dans les expressions régulières Java, telles que cX.
  • Gestion logique des points de code Unicode, évitant les problèmes avec les caractères de substitution.
  • Impression personnalisable des points de code Unicode à l'aide de la fonction d'assistance uniplus() .

Conclusion

En comprenant les limites de l'API Java pour les chaînes en vous échappant et en utilisant des solutions personnalisées comme l'exemple fourni, vous pouvez obtenir une suppression robuste des littéraux de chaîne pour vos besoins de traitement spécifiques.

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!

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