2012-02-16 13 views
0

コンマ区切り文字列をコンマ区切り文字列に分割するにはどうすればよいですか?コンマで区切られた文字列を小さな文字列に分割する

私の文字列は次のようになります。1,2,3,4,5,6,7,8,9,10

そして私は,文字のすべてのn番目の発生後に文字列を分割する必要があります。
など。すべての第三の発生のために、上記の文字列は、これらの文字列に変換されます:
1,2,3,45,6,7,89,10

は宿題のように見えるかもしれないが、そうではありません、私の脳は、単に疲れているが、私はまだ仕事を成し遂げるにする必要があります。あなたが正規表現を経由してそれを行うことができ

int lastSplit = 0; 
int commaCount = 0; 
int n = 4; 
List<string> parts = new List<string>(); 

for (int i = 0; i < s.Length; i++) 
{ 
    if (s[i] == ',' && ++commaCount == n) 
    { 
     commaCount = 0; 
     parts.Add(s.Substring(lastSplit, i - lastSplit)); 
     lastSplit = i + 1; 
    } 
} 

parts.Add(s.Substring(lastSplit)); 

答えて

2

はあなたがコンマ;-)

未テストをカウントするループを試してみて、それは次のようになります。試してみてください((?:[^,]+)(?:,(?:(?:[^,]*))){0,3})rubular

ああ、そしてあなたが必要なカンマの任意の数のための正規表現で "3"を交換する必要があります。

+0

ありがとう、ありがとう。 – Niklas

0

だから?

[TestMethod] 
    public void test() 
    { 

      string text = "1,2,3,4,5,6,7,8,9,10"; 
      var lists = Regex.Matches(text, ".,.,.,."); 

      foreach (var x in lists) 
      { 
      Console.WriteLine(x.ToString()); 
      } 

    } 
関連する問題