文字列内の改行文字を削除するには?[C#、VB].NET TIPS

» 2010年04月08日 05時00分 公開
[遠藤孝信デジタルアドバンテージ]
「.NET TIPS」のインデックス

連載目次

 ある文字列から改行文字(=改行コード)を取り除きたい場合は、文字列クラスのReplaceメソッドにより、改行文字を空文字列に置き換えればよい。

 改行文字は.NET Frameworkのクラス・ライブラリではEnvironmentクラス(System名前空間)のNewLineプロパティで定義されているため、これを利用すれば、Replaceメソッドによる改行文字の削除は次のように記述できる。

someString = someString.Replace(Environment.NewLine, "");

someString = someString.Replace(Environment.NewLine, "")

Environment.NewLineを使ったReplaceメソッドによる改行文字の削除(上:C#、下:VB)

 ただし上記のコードは、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メソッドによる改行文字の削除(上:C#、下:VB)

 なお、Replaceメソッドによる文字列の削除については「TIPS:文字列から特定の文字列を取り除くには?」でも解説している。

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Environmentクラス(System名前空間)
関連TIPS:文字列から特定の文字列を取り除くには?


「.NET TIPS」のインデックス

.NET TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。