ある文字列から改行文字(=改行コード)を取り除きたい場合は、文字列クラスのReplaceメソッドにより、改行文字を空文字列に置き換えればよい。
改行文字は.NET Frameworkのクラス・ライブラリではEnvironmentクラス(System名前空間)のNewLineプロパティで定義されているため、これを利用すれば、Replaceメソッドによる改行文字の削除は次のように記述できる。
someString = someString.Replace(Environment.NewLine, "");
someString = someString.Replace(Environment.NewLine, "")
ただし上記のコードは、Windows以外の環境(例えばLinuxやMac)で作成されたファイル内の文字列を扱うような場合には、うまく機能しない可能性がある。(Windows上では)Environment.NewLineの実際の値はCR+LFの2bytesだが、ほかの環境ではLFあるいはCRのみの場合があるためだ*。
*CR(キャリッジ・リターン)はC#では「"\r"」、VBでは「Chr(13)」、LF(ライン・フィード)はC#では「"\n"」、VBでは「Chr(10)」と記述できる。
従って、文字列から改行コードを削除する場合には、CRとLFを個別に削除した方が確実であるといえる。このコードは次のように記述できる。
someString = someString.Replace("\r", "").Replace("\n", "");
someString = someString.Replace(Chr(13), "").Replace(Chr(10), "")
なお、Replaceメソッドによる文字列の削除については「TIPS:文字列から特定の文字列を取り除くには?」でも解説している。
カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Environmentクラス(System名前空間)
関連TIPS:文字列から特定の文字列を取り除くには?
Copyright© Digital Advantage Corp. All Rights Reserved.