1 votes

Inverser les guillemets dans un document en utilisant Regex

J'ai un document qui contient beaucoup de phrases entre guillemets. Le problème est que certaines sont correctement guillemetées et d'autres ont des guillemets inverses, c'est-à-dire que les guillemets d'ouverture sont à la fin de la phrase et les guillemets de fermeture au début. Comme ceci :
’’ ‘‘
Une phrase correcte devrait ressembler à ceci :
‘‘ ’’
Je dois écrire une Regex qui ne changera que les phrases entre guillemets inverses. Le problème est clairement visible dans Word.

Pour une raison quelconque, la Regex suivante ne fonctionne pas correctement. Elle prend également en compte les bonnes guillemets.
\x{2019}{2}(.+?)\x{2018}{2}

1voto

harrymc Points 394411

Vos guillemets ne sont peut-être pas composés d'un seul caractère. Quand je copie et colle votre texte, j'obtiens les éléments suivants pour vos quatre guillemets dans l'ordre où ils apparaissent dans votre message :

E2 80 99 : U+2019 ’ APOSTROPHE DROIT
E2 80 98 deux fois : U+2018 ‘ GUILLEMETS SIMPLES GAUCHE
E2 80 98 deux fois : U+2018 ‘ GUILLEMETS SIMPLES GAUCHE
E2 80 99 deux fois : U+2019 ’ APOSTROPHE DROIT

Si mes outils ne se trompent pas, cela explique pourquoi votre regex ne fonctionne pas, et je remarque dans ce cas que votre éditeur de texte fait des choses étranges.

Référence :
Tableau d'encodage UTF-8 et page de caractères Unicode avec les points de code U+2000 à U+207F.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X