私は巻き毛の引用符を置き換えるためにしようとしています:Javascriptを使用して文字列の中括弧を置き換える方法は?
str = '“I don’t know what you mean by ‘glory,’ ” Alice said.';
は使用:
str.replace(/['"]/g,'');
それが動作しないのはなぜ?これどうやってするの?
私は巻き毛の引用符を置き換えるためにしようとしています:Javascriptを使用して文字列の中括弧を置き換える方法は?
str = '“I don’t know what you mean by ‘glory,’ ” Alice said.';
は使用:
str.replace(/['"]/g,'');
それが動作しないのはなぜ?これどうやってするの?
ソースの文字列に実際にASCII文字でないものがある場合、ASCIIアポストロフィ(一重引用符)と引用符を空の文字列に置き換えようとしているため、動作しません。
str.replace(/[“”‘’]/g,'');
作品。
あなたがしなければならない(またはすることを好む)のUnicode使用することがありますがエスケープ:
面白い単一引用符のためだvar goodQuotes = badQuotes.replace(/[\u2018\u2019]/g, "'");
。二重引用符のコードは201Cと201Dです。
編集 —ので、完全にすべて派手な引用符を置き換えるために:
var goodQuotes = badQuotes
.replace(/[\u2018\u2019]/g, "'")
.replace(/[\u201C\u201D]/g, '"');
>>> str.replace(/ [\ u2019]/g、 "#"); 結果: "「栄光が何を意味するのか分かりません」#「アリスは言った」 – dokondr
なぜあなたは "#"を置換文字列に入れましたか?両方の種類の引用符を置き換えたい場合は、 '.replace()'を2回呼び出す必要があります。私は答えを更新します。 – Pointy
このスクリプトを拡張すると、Wordなどから貼り付けるときにテキストボックスに表示されるemダッシュと楕円を置き換えます。\t \t \t .replace(/ [\ u2013 \ u2014]/g、 ' - ') \t \t \t .replace(/ [\ u0026]/g、 '...') ' –
私はこれが古い質問です知っています。ちょうど何かを追加したい。 置き換えようとしている引用符を「Smart Quotes」といいます。
以下の機能が、これは誰かに役に立てば幸い
public static String replaceSmartQuotes(String str) {
String retVal = str;
retVal = retVal.replaceAll("[\u2018\u2019\u201A\u201B\u2032\u2035]", "'");
retVal = retVal.replaceAll("[\u201C\u201D\u201E\u201F\u2033\u2036]","\"");
return retVal;
}
それらのほとんどをカバーしています。
' \ u2032、\ u2033、\ u2035、\ u2036'は**スマート引用符ではありません。それらは素数であり、全く異なる[目的](https://en.wikipedia.org/wiki/Prime_(シンボル))に使用されています。したがって、上記はすべてのスマート・クォートを置き換えますが、上記はプライマリ・キャラクタの正当な使用を置き換えます。 – kgryte
JavaScript文字列には 'replaceAll'メソッドがありません。このコードはJavaで書かれており、JavaScriptでは動作しません。 –
ありがとうございます!素敵で簡単) – dokondr