2016-07-06 4 views
-1

置換コードが一重引用符では機能していないので、助けてください。 動作している場所と動作しない場所があります。一重引用符の置換コードが機能していません

Javascriptのコード:

var demo = "Broadcasted on Zee TV from Monday to Friday, the Indian television soap opera Kumkum Bhagya has long been revolving around the mystery of Tanu’s pregnancy. Tanu, a cunning, sly and guileful character in the Kumkum Bhagya serial has been fooling Abhi, the rock star. She is actually pregnant with Nikhil, her ex-boyfriend, but claims to be the mother of Abhi’s child. Except Abhi, almost everyone in the show knows who Tanu is pregnant with. But, the mystery will remain unrevealed until Abhi knows the reality of Tanu’s pregnancy. The coming episodes of Kumkum Bhagya, Pragya's DNA disclosure is likely to reveal the secret."; 
var demo1 = demo.replace(/[']/g,";"); 
//alert(demo1); 
document.getElementById("hello").innerHTML = demo1; 

HTMLコード:

<div id="hello"> 
</div> 

参照としてこれを使用してください:あなたはユニコード文字 '右の単一引用符' を持っているあなたの文字列でhttps://jsfiddle.net/h3sujuLx/

+0

サンプルテキストと置換機能で同じ文字を使用しません。両方ともアポストロフィであり、どちらもそれぞれ異なるコードを持っているので、関数は一致するものを見つけません。 – Nekomajin42

+0

しかし、親愛なる、同じ文書で両方を処理したいのですが、request.getParameterメソッドを使用してjavaでその文字列を取得すると、文字列からアポストロフィが消えます。 その問題をどう対処するか教えてください。 –

+0

@ Duncanの解決策はうまくいくと思います。 – Nekomajin42

答えて

3

またアポストロフィーもありますが、あなたの正規表現には別の文字であるアポストロフィがあります。あなたがあなたの正規表現の両方に含める必要があり、両方の文字を置換したい場合:

var demo1 = demo.replace(/['’]/g,";"); 

を具体的に比較する:Tanu’s(右の単一引用符)とPragya's(アポストロフィ)

あなたを入力するために、これは簡単にするために文字の代わりにUnicodeエスケープシーケンスを使用できます。

var demo1 = demo.replace(/['\u2019]/g,";"); 
+0

アポストロフィはhtmlで表示されていませんか? –

+0

文字列を注意深く見ると、2つの文字は同じように見えますが、同じではありません。私はあなたの質問から2つの言葉を追加してあなたの質問に貼り付けました。あなたはもっと簡単に比較することができます。 – Duncan

+0

私はこの新しいJSPページを置き換えるコードを書いています。そのソースを調べると、あなたがソースコードにユニコード文字を入力する際に​​問題が発生しているように思えますが、/( "[]"/g、 "'") –

関連する問題