2012-06-13 11 views
18

C#で空白文字を表現する方法を知りたかったのですが、空の文字列表現string.Emptyが見つかりました。空白文字を表すようなものはありますか?空白文字を正しく表現する方法

私はこのような何かをしたいと思います:

test.ToLower().Split(string.Whitespace) 
//test.ToLower().Split(Char.Whitespace) 
+1

はそれだけで単一のスペースではないでしょうか? (またはasciiの等号?) – Limey

+1

空白は一連の文字です。 –

+0

[String.Split操作で空白を指定する最良の方法]の可能な複製(http://stackoverflow.com/questions/6111298/best-way-to-specify-whitespace-in-a-string-split-operation) – nevermind

答えて

17

どれが空白文字ですか?空の文字列は、あいまいではありません。文字列は0文字です。ただし、" ","\t"および"\n"はすべて空白文字として識別される1文字の文字列です。

スペースだけを意味する場合は、スペースを使用してください。他の空白文字を意味する場合は、カスタムエスケープシーケンス(例えば、タブの場合は"\t")、またはUnicodeエスケープシーケンス("\uxxxx")を使用できます。私はあなたのソースコード、特に空白のものに非ASCII文字を含めることをお勧めしません。

EDIT:今、あなたは(で開始するあなたの質問にされている必要があります)何をしたいのか説明してきたことをあなたは空白を表し\sの正規表現でRegex.Splitを使用したほうが良いと思います:

Regex regex = new Regex(@"\s"); 
string[] bits = regex.Split(text.ToLower()); 

他の文字クラスの詳細については、Regex Character Classesのドキュメントを参照してください。

+0

こんにちは、私はこの記事を参照していますhttp://stackoverflow.com/疑問/ 6111298 /最善の方法で指定する空白文字列分割操作。私も同じ問題がありました。私はスペースが分割機能で一致していないCSVファイルを持っています。私は文字列を入れたいと思います。 – Luke101

+0

@ Luke101:もしあなたがこれをすべて始めると言ったら、それは役に立ちました。私の編集を参照してください - 基本的に正規表現を使用する必要があります。 –

+0

完璧、まさに私が必要なもの。誤解をおかけして申し訳ありません。将来の投稿を明確にします。 – Luke101

4

いいえ、そのような一定ではありません。

1

空白文字はどれですか?最も一般的なのは、私の文章の各単語の間にある通常のスペースです。これはちょうど" "です。正規表現を使用して

+0

私はスペースの代わりにスペースを使用してスペース文字を表現していました。# – Zeeshanef

+4

'' ''は' char'、 '' ''は 'string'です。 'Split'の文脈では、' char'はおそらくあなたが使いたいものです。そう、ええ、あなたは正しいよ –

+0

ありがとう...答えを編集し、このコメントを回答として追加する必要があります。今あなたの答えよりもあなたのコメントをupvotes持っている。 – Equiman

1

は、あなたはメタ文字と空白文字を表すことができ、「\ s」の

MSDN Reference

関連する問題