私は不思議ですが、.NET string.Empty.Split()
は空白文字を含む1つのアイテムを返しますか?.NET string.Empty.Split()が空白文字を含む1つの項目を返すのはなぜですか?
答えて
string.Empty.Split()
は、最初の位置に値string.Empty
を持つ文字列配列を返します。あなたは何を期待しますか?
追加情報:最初の一致前のすべてが最初の要素として返されます。一致するものがなければ、文字列自体が最初の位置に返されます。
OK、分割と結合の組み合わせが私を混乱させました: ' '' var strings = string.Empty.Split(); '' ' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '') '' ' これはスペースを1つ前に付けます。しかし、それはどこから来ますか? –
ああ、分割が何をしているのか分かっていれば、結合した文字列の先頭にスペースを入れることに驚いたことはありませんでした。 –
あなたの質問に答えますか? –
あなたの声明で1つ小さな修正。 string.Empty.Split()
は、空白文字を含む1つの項目を返しませんが、空の文字列を含む項目を返します。これは、split()メソッドが引数を持たない場合、空白を区切り文字とみなすためです。しかし、string.Empty
には空白もありません。したがって、出力配列の最初の項目でstring.Emptyを返すだけです。
あなたはSplit
方法にseperatorsとして何も提供しない、それはuses whitespaces by default:あなたがstring.Empty.Split()
を呼び出すとき
private unsafe int MakeSeparatorList(char[] separator, ref int[] sepList) {
...
if (separator == null || separator.Length ==0) {
...
// If they passed null or an empty string, look for whitespace.
だから、あなたは空白文字でemtpy文字列を分割しようとしています。何もないので、このメソッドは文字列全体を唯一の結果として返します。正確"Hello!".Split
がstring[] { "Hello!" }
を返します呼び出すようですsee
using System;
public class Program
{
public static void Main()
{
Console.WriteLine("ehh \"" + string.Empty.Split()[0] + "\"");
}
}
戻っていません:
ehh ""
- 1. 空白のセルを含む文字列
- 2. 空白(文字間に1つのスペース)を含むランダムな文字列を作成し、最初の文字は空白ではありません
- 3. IE:カスタムフォントの文字を含む場合、ドロップダウンオプションは空白です
- 4. 空白文字を含むテストuriは "現在のノードリストが空です"
- 5. 空白文字ブロックを含む文字列を分割する
- 6. scanfが空白以外の文字を含むドキュメントに続くのはなぜですか?
- 7. 空の項目を含むSQLリスト
- 8. UIFont sizeWithFontが計算に空白を含むのはなぜですか?
- 9. Drupalの8つのSQL文が列名に空白を含む
- 10. unixの文字列間に1つ以上の空白を含む行を見つけるには?
- 11. MSAccess特殊文字と空白を含む文字列での更新文
- 12. 2つ以上の空白を含む文字列を分割する
- 13. なぜCocoaは空の文字列を返すのですか?
- 14. 特定の文字列を含むが7番目の文字を含むレコードを返す
- 15. 空文字/空白のgrepでDo Statementを返しますか?
- 16. SearchViewは空白を含むListView項目をフィルタリングしていません
- 17. 項目が空の文字列
- 18. なぜ空の文字列の数が1を返しますか?
- 19. Objective-c:空白を含む文字列の長さ
- 20. 空白を含むstdinから文字列を入力する方法は?
- 21. 空白を含まない値のみを含む列を返します。
- 22. なぜnet()。成功するかどうか空文字列を返します
- 23. 空白文字列を入力できないのはなぜですか?
- 24. db_placeholderがクエリの空の文字列を返すのはなぜですか?
- 25. なぜこれが空の文字列を返しますか?
- 26. 「文字+空白+文字+空白...」のような文字列の一部を取り込む正規表現
- 27. nextLine()が空の文字列を返すのはなぜですか?
- 28. System.Web.HttpContext.Current.User.Identity.Nameが空の文字列を返すのはなぜですか?
- 29. XmlReaderが空の文字列を返すのはなぜですか?
- 30. javascript this.style [property]が空の文字列を返すのはなぜですか?
は、同様の質問かもしれませんhttp://stackoverflow.com/questions/2906621/undocumented- overload-of-string-split – Vladimir
** **空の文字列を含む配列を返します。最初の項目にスペース文字はありません。なぜあなたはそこにいると思いますか?そこにスペースがあることを示す最初のアイテムのコンテンツを表示するために使用するツール/コードの種類は何ですか? –
このオプションを 'StringSplitOptions.RemoveEmptyEntries'に渡すと、このスペースを取り除くことができます。 – Sherlock