Fonction replace() et code ISO [Résolu]

Signaler
Messages postés
19
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2011
-
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour,
Cela va faire un bon bout de temps que je galère et que je cherche sur le web, mais je ne trouve pas de réponse à mon problème. Il peut paraître tout simple, mais personnellement je rame ...
Problème :
Quelle syntaxe pour écrire correctement : texte = texte.replace(/’/g,'’ ');
    ???

Le code ’ est celui d'un type d'apostrophe peu répandu. Donc, je désire remplacer le caractère ayant le code iso ’ par le même code, mais suivi d'un espacement.

D'avance, merci !

12 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
>>Peut-on, dans un RegEx, désigner un caractère par son code

oui
c'est déjà une solution
\xNombre en héxa  \oNombre en octal... ou autre

mais pourquoi tu ne copies/colles pas depuis la source que je t'ai mise ?


c'est une autre solution
 

tu as le clavier visuel de windows
c'en est une autre

de nombreux utilitaires affichent la table des caractères ascii
il suffit de copier/coller

crée un page html avec ’ et copie/colle l'affichage
...
...
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
Bonjour,

et ben ? c'est pas bon comme tu fais ?
ou alors tu veux remplacer ’ Alt+0+1+4+6 ???

"aaa’bbb’ccc".replace(/’/g,'’ ')
"aaa’bbb’ccc".replace(/’/g,'’ ')

pas sûr d'avoir percuté....

Cordialement [mon Site] [M'écrire] Bul
Messages postés
19
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2011

Ben non, Bul3, ça marche pas ! Sinon, j'aurais pas posté, tu penses !


D'ailleurs, ce que tu mets "aaa'bbb’ccc".replace(/'/g,'' ') , ça rime à rien, puisque les codes des caractères ne sont pas les mêmes !! Il ne s'agit pas de l'apostrophe verticale, mais de celle en oblique vers la gauche.
Merci de m'avoir répondu  quand même.


La situation est grave, mais pas désespérée...
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
ben si, ça fonctionne iddsoft ! sinon j'aurais pas répondu, tu penses....
d'ailleurs comme tu nous le met le replace, ça ferait une erreur de syntaxe !!!

    alert("aaa’bbb’ccc".replace(/’/g,'’ '));

mais comme tu ne précises pas ( tu ne réponds pas ) à ma question,
est-ce ’ ou ’ que tu veux remplacer ?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
seulement avec la font utilisée ici, je pense que l'affichage
de l'apostrophe en oblique vers la gauche est remplacé par
l'apostrophe verticale
@+
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
t'es pas obligé de me croire,mais teste donc ceci ( tu pourras afficher la source ! )
à mon avis, ton souci c'est que tu ne sais pas saisir le caractère ?
Messages postés
19
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2011

Merci pour tes messages Bul3 !

Il faut que je précise que j'utilise un portablesans clavier numérique et que je n'arrive pas, par la combinaison de touches, à reproduire l'apostrophe oblique correspondant, en ASCII étendu ANSI, au code ’ (soit 8217 en Unicode).

C'est vrai que ton petit test fonctionne, lui !

Ce que je voudrais faire, c'est remplacer dans une chaine nommée "texte", toutes les apostrophes obliques (soit ’) par la même apostrophe oblique, MAIS suivie d'un espace (soit ’ ).


J'arrive à remplacer, par exemple : var texte = texte.replace(/[']/g,'’  ');    Ca, ça marche !

Encore merci,


A+,


lddsoft
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
un portable sans clavier numérique

bah.... ça n'empêche pas grand chose,
et si jamis c'était pénalisant : il y a bien d'autres moyens de faire !
je ne vais pas tous te les citer !
@+
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
>>C'est vrai que ton petit test fonctionne, lui
parce que tu mélanges ’ ou autre avec le caractère en lui même !
’ c'est 6 caractères
’ c'est 1 caractère
unicode, ansi... c'est une autre histoire, heureux que tu ne parles pas utf-8 ;o)
et pourtant c'est la même chose à l'affichage
Messages postés
19
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2011

Encore merci, Bul3 !

Dans ton test, l'apostrophe est déjà visible dans le RegEx, mais moi je ne sais pas le faire; donc, je met le code.
Ma nouvelle question, alors, sera :

Peut-on, dans un RegEx, désigner un caractère par son code ?

Il me semble que oui, puisque j'arrive à faire remplacer  (/[']/g,'’ ');
    donc l'apostrophe droite, par l'apostrophe oblique suivie d'un espace. Le tout est de savoir si on peut placer ’ dans la première partie.

Profite quand même du soleil !
lddsoft
Messages postés
19
Date d'inscription
vendredi 16 mai 2008
Statut
Membre
Dernière intervention
16 mai 2011

crée un page html avec ’ et copie/colle l'affichage


Génial ! Ca marche !
Merci Bul3 !

Ce qui est bête, c'est que j'avais déjà utilisé ce moyen pour le fameux eszet allemand, mais cela ne m'était pas (re)venu à l'esprit ! Dire que je programme depuis plus de 25 ans !!

Encore un tout grand merci !

A une prochaine fois !
lddsoft
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
>>crée un page html avec ’ et copie/colle l'affichage
l'une des 26895 solutions

en général ( oui, je sais, généralement c'est stupide de généraliser )
    quand on poste une réponse aussi courte ( 1 ligne ) c'est testé
    et perso, généralement, je le dis quand je n'ai pas testé.