Vous pourriez avoir à (ou si vous préférez) utiliser l'Unicode s'échappe:
var goodQuotes = badQuotes.replace(/[\u2018\u2019]/g,"'");
C'est drôle guillemets simples; les codes pour les guillemets sont 201C et 201D.
modifier — donc de remplacer complètement tous la fantaisie citations:
var goodQuotes = badQuotes
.replace(/[\u2018\u2019]/g,"'").replace(/[\u201C\u201D]/g,'"');
>>> str.replace(/[\u2018\u2019]/g, "#"); les Résultats: "“je n'#t savoir ce que vous entendez par #la gloire,# ” Alice dit." La droite. Pourquoi as-tu mis "#" dans la chaîne de remplacement? Si vous souhaitez remplacer les deux sorte de citations, vous auriez besoin de deux appels à .replace(). Je vais mettre à jour la réponse. Vous pouvez étendre ce script avec la suivante, qui remplace le tiret cadratin et les ellipses que vous obtenez dans les zones de texte lors de la coller à partir de Word, etc: .replace(/[\u2013\u2014]/g, '-') .replace(/[\u2026]/g, '...')
Il ne fonctionne pas parce que vous êtes en train de remplacer le code ASCII du caractère apostrophe (ou apostrophes) et des guillemets avec la chaîne vide, alors que ce qui est réellement dans votre chaîne source ne sont pas des caractères ASCII.
\u2032, \u2033, \u2035, \u2036 sont pas les guillemets. Ils sont premiers et utilisé pour totalement différent fins. Ainsi, tandis que la partie ci-dessus, remplacer tous les guillemets, le ci-dessus pourrait aussi remplacer l'utilisation légitime de premier caractères. Les chaînes de caractères JavaScript n'ont pas de replaceAll méthode. Ce code est écrit en Java et ne fonctionnerait pas en JavaScript.
Vous pourriez avoir à (ou si vous préférez) utiliser l'Unicode s'échappe:
C'est drôle guillemets simples; les codes pour les guillemets sont 201C et 201D.
modifier — donc de remplacer complètement tous la fantaisie citations:
La droite. Pourquoi as-tu mis "#" dans la chaîne de remplacement? Si vous souhaitez remplacer les deux sorte de citations, vous auriez besoin de deux appels à
.replace()
. Je vais mettre à jour la réponse.Vous pouvez étendre ce script avec la suivante, qui remplace le tiret cadratin et les ellipses que vous obtenez dans les zones de texte lors de la coller à partir de Word, etc:
.replace(/[\u2013\u2014]/g, '-') .replace(/[\u2026]/g, '...')
OriginalL'auteur Pointy
Il ne fonctionne pas parce que vous êtes en train de remplacer le code ASCII du caractère apostrophe (ou apostrophes) et des guillemets avec la chaîne vide, alors que ce qui est réellement dans votre chaîne source ne sont pas des caractères ASCII.
œuvres.
OriginalL'auteur Wooble
Je sais que c'est une vieille question. Veux juste ajouter quelque chose.
Les citations que vous essayez de remplacer les appelle les "Guillemets".
Ci-dessous la fonction couvre la plupart d'entre eux
Espère que cela aide quelqu'un.
\u2032, \u2033, \u2035, \u2036
sont pas les guillemets. Ils sont premiers et utilisé pour totalement différent fins. Ainsi, tandis que la partie ci-dessus, remplacer tous les guillemets, le ci-dessus pourrait aussi remplacer l'utilisation légitime de premier caractères.Les chaînes de caractères JavaScript n'ont pas de
replaceAll
méthode. Ce code est écrit en Java et ne fonctionnerait pas en JavaScript.OriginalL'auteur Vivek