0

重複の可能性:
C# 文字列値をエスケープされた文字列リテラルに変換できますか

ユーザーが「\n\r」「\t」などのエスケープ文字を入力できるようにする小さなプログラムがあります。これらを置換する必要がありますか、それともうまくいく方法はありますかユーザーが入れたもので?

コマンド ラインで次のような文字列 ("This is a \r\n test") を渡すと、プログラムでは \r\n と表示されます。私はそれを置き換えることができますが、ユーザーがこれらを入力して、置換を行わなくてもC#プログラムが正しく解釈できる方法があるかどうか知りたいですか?

4

2 に答える 2

2

たとえば、すべてのコードを手動で置き換える必要があります。

text = text.Replace(@"\r\n", Environment.NewLine);

デモ

于 2013-01-31T15:36:41.127 に答える
0

ユーザーがこれらを直接入力することは可能だと思いますが、ユーザーはこれを行う方法を知っている必要があります。それを実現するためにコーディングできるものは何もないので、次のようなことを行う必要があります。

input.Replace("\\r", "\r");
input.Replace("\\n", "\n");

念のため。

于 2013-01-31T15:36:15.490 に答える