私は外部印刷機能に送る文字列を持っています。
文字列をバックスラッシュで埋めて、正しく印刷する必要があります。この文字列を正しくエスケープする方法
は具体的に、私は、この例の入力を受け入れる方法が必要になります。
This is a string\nwith a line break\ta tab\rand a carriage return.
と出力:
This is a string\\nwith a line break\\ta tab\\rand a carriage return.
は私が力Replace
それにあらゆる可能なエスケープ文字は、バックスラッシュだと同等のブルートする必要がありますか?
が試した:それは文字通りのバックスラッシュを探しているので s.Replace("\\","\\\\")
は動作しません。
s.Replace("\n","\\n")
明らかに機能しますが、私が探しているのは一般的な方法です。
編集: brute forceメソッドを提案しないでください。このようなメソッドを実装するには問題はありません。私の質問はもっと普遍的なアプローチがある場合でした。
あなたの入力は明確ではありません - 「改行を含む文字列」を「バックスラッシュの後にnを付ける文字列」に変換することを意味しますか? –
@ジョンはい、まさに。私はダブルエスケープのために私の文字列を準備する必要があります。 – Rotem
@Rotem @ "これは文字列\ nと改行"ですか?素晴らしい日を過ごしてください:) –