私は文字列を持っています:
id0:xxxxx:id0-value:xxxxx:id1:xxxxxxxx:id1-value:xxxxx:id3:xxxxxxxx:id3-value:xxx
文字列から配列への idX-value の値が必要なだけです。
どうすれば達成できますか?
私は文字列を持っています:
id0:xxxxx:id0-value:xxxxx:id1:xxxxxxxx:id1-value:xxxxx:id3:xxxxxxxx:id3-value:xxx
文字列から配列への idX-value の値が必要なだけです。
どうすれば達成できますか?
簡単な方法で、値は位置 (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));
}
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; // 見つかったものを飛び越えます。 }
正規表現(分割する正規表現:xの後に来る)を使用して分割し、コロン:
を使用して分割し、最初のインデックスをディクショナリキーとして使用し、2番目のインデックスをディクショナリ値として使用します。