2017-04-07 13 views
0

これは奇妙なものです!私のような理由は、私のreplace機能が正しく動作していない理由は、フォントのためです。私はこれまでにこの問題を見たことがない、と私は何かを見落としているのだろうか?Javascript一重引用符を空の文字列に置き換える

次の変数は、'の静的テキストに設定されています。私のブラウザで

var lastName = "O'Donnell"; 

console.log(lastName)出力:O’DonnellO'Donnellの代わりに。したがって、次のreplaceメソッドは機能しません。

スクリーンショット: enter image description here

return lastName.replace(/'/g, '') 

私が間違って何をしているのですか?

+4

これは文字ではなく、実際はスマートな引用です。(https://en.wikipedia.org/wiki/Quotation_marks_in_English#Typing_quotation_mar ks_on_a_computer_keyboard)文字。ユニコードポイントは 'U + 2019'です。正規表現 '/ \ u2019/g'を使うことができます。 –

+0

console.log(lastName)の出力:O'Donnellは私のためにChromeで意図した通りです。多分、別のブラウザを試してみてください。 – user2202098

+0

@ user2202098:スクリーンショットは、それが '' '文字ではないことを示しています。彼は自分のコードでスマートな引用符を必要とします(MSワードからコピー&ペーストすれば、時にはこれを行います)。また、これらの文字は、他のプログラムやプレーンテキストとしてコピーして貼り付けるときは、必ずしもその文字が保持されるとは限りません。 –

答えて

7

置き換えようとしている文字は、名前の文字と同じではありません。

ベストのような名前に対応するため、代わりにすべての非英数字文字を削除するには:

  • オニール
  • 聖マリア

試してみてください。

lastName.replace(/\W/g, '') 
+0

それはそれでした。どうもありがとうございます。 –