【C#のプログラミング】 C# 初心者です。 改行コード LF (\n) コード 及び CR (\r)を 改行コードを CRLF (\r\n)に
【C#のプログラミング】 C# 初心者です。 改行コード LF (\n) コード 及び CR (\r)を 改行コードを CRLF (\r\n)に 変換するプログラム作成したいのですが CRLF (\r\n)はそのままです。 Replaceメソッドですと string str1="文字列\n文字列\r"; string str2=str1.Replace("\r","\r\n"); string str3=str2.Replace("\n","\r\n"); CRLF (\r\n) が 反応されて \r\n\n\r\n\n と変になります。 CR (\r)に反応して \r\r\n と変になります いい方法はありますでしょうか?
ベストアンサー
「\r\n」を「\n」(「\r」でも可)に変換した後 『「\r」または「\n」』を「\r\n」に変換しましょう。 System.Text.RegularExpressions.Regex.Replace() を使えば 正規表現を用いた複雑な変換も可能です。 (記述次第では1回で変換できるかもしれません) str1 = "あいうえお\r\nかきくけこ\rさしすせそ\n"; // "\r\n"を"\n"に置換する str2 = st1.replace("\r\n", "\n"); // "あいうえお\nかきくけこ\rさしすせそ\n" // 「'\r'と'\n'のいずれかとマッチする1文字を"\r\n"に置換する」 str3 = System.Text.RegularExpressions.Regex.Replace(str2, "[\r\n]", "\r\n"); // "あいうえお\r\nかきくけこ\r\nさしすせそ\r\n"
1人がナイス!しています
質問者からのお礼コメント
確認もできました ありがとうございます。
お礼日時:6/25 4:28