これは何度も答えられているようです。私のチームと私は過去1時間に何の幸運もなく多くのソリューションを試しました。 c:\ testを含むデータベース駆動の文字列値があり、円弧を\\
に置き換えてc:\\test
に置き換えたいとします。データベース駆動型文字列内の単一のバックスラッシュを置き換えます。
.Replace、Regex.Replace、.Splitを使って文字列を再構築しようとしましたが、forループと部分文字列を使って各文字を調べてみました。コロンを越えると、次の文字は "\ t"と表示されます。
提出する前に解決策を試してください。既に、スタックオーバーフローに関する数多くの提案を含め、さまざまな方法を試しています。
私たちが手作業で文字列をpath = @ "c:\ test"のようにリテラルとして設定すると、replaceを使っても問題ありません。
解決策はエスケープ文字を処理しない文字列を作成することだと思いますが、その実装方法はわかりません。
はあなたの試してみました「:\\テストc」をお持ちですか? –
この奇妙なことが他の誰かに起こった場合。これは「C:\ temp」のパスが使用されたためにのみ発生しました。文字列をデフォルトで "c:\ logs"に設定していた場合、無効なエスケープが与えられていましたが、\ tはAlexeiが述べたようにタブであるため、文字列を受け入れましたが、 "c: emp" –
CubeRoot