2017-02-03 4 views
1

私は、特定の文字列を分割するこのコードを持っています。c#split string

str = "\n\nThis\nString\nis\nsplit\ninto\narray"; 
string[] delimiterChar = { "\n" }; 

var splitArray = str.Split(delimiterChar); 

スプリット配列が文字列の単純な配列であるが、なぜそれが使用して最初の2項目を削除することはできません:あなたは空のエントリを削除する必要がある場合は

splitArray[0].remove(); 
splitArray[0].remove(); 
+0

http://stackoverflow.com/questions/496896/how-to-delete-an-element-from-a n-array-c-sharp – bi0phaz3

答えて

2

を、そしてちょうど指定それは分割法である。手動で削除する必要はありません。

var splitArray = str.Split(delimiterChar, StringSplitOptions.RemoveEmptyEntries); 

あなたが特にある特定の要素を削除したい場合は、あなたが好きな(可変)リストに(非可変)の配列を変換し、その上で動作することができます:

var splitList = str.Split(delimiterChar, StringSplitOptions.RemoveEmptyEntries).ToList(); 
splitList.RemoveAt(0); 
0

これかもしれないが所望の結果を得ることができる解決策の1つになります。

string str = "\n\nThis\nString\nis\nsplit\ninto\narray"; 
str = str.TrimStart('\n'); 
var splitArray = str.Split('\n'); 
0

はい、時には文字列は最初の3つのインデックスでランダムな文字列が含まれています。.. ので、私は、スプリットを経てアレイには、この単純な文字列を分割し、削除したいです。 LINQの

スプリット配列は、単純な文字列の配列ですが、なぜそれが

スプリット最初の2つの項目を削除してから使用してあなたが望む項目のどんな数スキップすることはできません。

// I am skipping 3 for example 
var splitArray = str.Split(delimiterChar).Skip(3).ToList(); 

ステートメントを使用してのリストにこれを追加してください:

using System.Linq;