J'ai un problème plutôt ennuyeux que j'ai résolu en utilisant une méthode récursive simple en Java. Cependant, je cherche une meilleure façon de le faire.Remplacer une expression dans les limites de texte
Le problème initial impliquait la présence d'espaces dans un en-tête MIME codé imprimable/Base64 - qui, selon la spécification RFC 2047, n'est pas autorisé. Cela signifie que le décodage échoue pour un en-tête MIME lorsqu'un espace blanc est présent, par ex.
=?iso-8859-1?Q?H=E4 ll and nothing?=
ou plus pertinemment:
=?iso-8859-1?Q?H=E4 ll?= preserve this text =?iso-8859-1?Q?mo nk ey?=
L'objectif est de supprimer uniquement les espaces entre les =? ? = frontières (ou ré-encoder en utilisant = 20). L'autre texte en dehors de ceci devrait être préservé.
Je suis à la recherche d'approches alternatives pour résoudre cette langue cible pour Java. Des idées sur l'approche la plus simple et la plus propre à cela?
Vous pouvez utiliser des groupes de capture et parcourir les résultats, mais à ce stade, vous êtes probablement mieux avec votre méthode récursive simple qui, je suppose, est essentiellement la machine d'état de pgras. – steamer25