0

私は文字列を持っています:

id0:xxxxx:id0-value:xxxxx:id1:xxxxxxxx:id1-value:xxxxx:id3:xxxxxxxx:id3-value:xxx

文字列から配列への idX-value の値が必要なだけです。

どうすれば達成できますか?

4

3 に答える 3

2

簡単な方法で、値は位置 (4x - 1) にあります。

var list = input.Split(':');
var outputs = new List<string>();

for (int index = 0; index < list.Count(); index++)
{
     if (index % 4 == 3)
         outputs.Add(list.ElementAt(index));
}
于 2012-08-16T04:16:47.917 に答える
2

String.Split() を使用する

http://msdn.microsoft.com/en-us/library/system.string.split.aspx

String myString = "id0:xxxxx:id0-value:xxxxx:id1:xxxxxxxx:id1-value:xxxxx:id3:xxxxxxxx:id3-value:xxx";
String[] tokens = myString.Split(new Char[] {':'});

トークン配列には {"id0","xxxxx","id0-value","xxxxx","id1","xxxxxxxx","id1-value","xxxxx","id3","xxxxxxxx", "d3値","xxx"}

2 番目の可能性は、String.IndexOf() と String.Substring() を使用することです。

http://msdn.microsoft.com/en-us/library/5xkyx09y http://msdn.microsoft.com/en-us/library/aka44szs

整数開始 = 0; ArrayList トークン; while((start = myString.IndexOf("-value:", start)) > -1) { ArrayList.Add(myString.Substring(start+6, myString.IndexOf(":", start+7)); start + = 6; // 見つかったものを飛び越えます。 }

于 2012-08-16T03:34:11.977 に答える
1

正規表現(分割する正規表現:xの後に来る)を使用して分割し、コロン:を使用して分割し、最初のインデックスをディクショナリキーとして使用し、2番目のインデックスをディクショナリ値として使用します。

于 2012-08-16T03:29:15.550 に答える