2010-12-07 15 views
1

は/エスケープされた理由を推論するためにthis answerを見ると、何が非特殊文字修正/エスケープのjavascriptのエスケープ文字ですか?

私はパースした後、このように見える文字列を持っているに発生します。この文字列はjavascriptの行で表示されます。

var="http:\/\/www.site.com\/user" 

私はので、私が持っているすべてのhttp:\/\/www.site.com\/userある引用の内側をつかみました。どのように私は適切に文字列をエスケープするのですか?だからそのhttp://www.site.com/user?私は.NETを使用しています

+1

をあなたの質問が明確ではありません。文字列置換を行う正規表現を求めていますか?置き換えはJavaScriptか.NETで起こっていますか? – epascarello

+0

@epascarello: 'http:\/\ /'のような文字列を正しくエスケープする関数を求めています。 ex escapeit(@ "http:\/\ /") –

答えて

0

var foo = "http://www.site.com/user";は有効な文字列であるため、なぜ\が入っているのかわかりません。

string expr = @"http:\/\/www.site.com\/user"; // That's what you have. 
expr = expr.Replace("\\/", "/");    // That's what you want. 

こと、または:\文字はあなたが

var foo = "http:\\/\\/www.site.com\\/user"; 
+0

いいえ、私はそれが他の方法に行く必要があります。私は/ /になる必要がありますが、私は自分自身のfuncを書いていません。bc私はjsスクリプトをエスケープする方法を覚えていません。 –

1

使用して、String.Replace()方法をそれらを二重にする必要があるよりも、いくつかの奇妙な理由のためにそこにあることを意味している場合は

expr = expr.Replace(@"\/", "/"); 

上記は、\のemとの置換にはなりませんpty文字列。他の正当なバックスラッシュを含む文字列をサポートしなければならない場合に備えて。そうでない場合は、次のように記述することができます:あなたはリテラルに定数を好む場合

expr = expr.Replace("\\", ""); 

または、:

expr = expr.Replace("\\", String.Empty); 
+0

私は私の質問を編集しました。文字列はすでに文字列内にあります。私はコピーしていない/それをjsから貼り付けるが、jsファイルから来たdbを読むことからそれを解析した:x –