正規表現マッチのために "/"を含む文字列を "\ /"に変更しようとしています。""をC#の " /"に置き換えてください
これは私がこれまで試したものです:
var test = "test/txt";
var testResult = test.Replace("/", @"\/");
var testResult2 = test.Replace("/", "\\/");
var testResult3 = @test.Replace("/", "\\/");
var testResult4 = test.Replace("/",@"\").Replace(@"\","\\/");
var testResult5 = test.Replace("/", @"\/").Replace("\\\\", "\\");
彼らはすべてのリターン "テスト\\/TXT"、私が欲しい "テスト\/TXT"。
私は/と\を置き換える答えを見たことがありますが、これはうまく動作します。同じことに/ backを入れようとすると(testResult4)起こります。
ありがとうございます。
あなたのタイトルはバックスラッシュの置き換えに関する話ですが、すべてのサンプルコードはスラッシュを置き換えています。あなたは実際にどちらに興味がありますか?デバッガが示すものではなく、文字列の実際の内容を確認していることは確かですか?デバッガはあなたにエスケープされた値を表示することに注意してください。 –
私の悪い、プレビューはすべて正しくエスケープされていない、私はそれを編集しました。 – user2320225
['String.Replace'](https://msdn.microsoft.com/en-us/library/system.string.replace.aspx?f=255&MSPPError=-2147217396)は正規表現とは関係がありません。単純な文字列を見つけて置き換えます。 regexesを使うには、['Regex.Replace'](https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace(v = vs.110).aspx)を使う必要があります。 。 – Richard