regex.matchesのそれぞれに使用して繰り返される一致のインデックスを取得するにはどうすればよいですか?
質問する
1170 次
3 に答える
0
コレクション内の各Match
オブジェクトにはIndex
プロパティがあります。http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.match.aspxを参照してください
于 2012-10-22T04:12:26.087 に答える
0
次のようにしてみてください
string strInput = "YourString";
Regex regex = new Regex("Your Regex to match");
var m = regex.Match(strInput);
if (m.Success)
{
foreach (var matches in regex.Matches(strInput))
{
if (m.Success)
{
Console.WriteLine(m.Index);
}
m = m.NextMatch();
}
}
于 2012-10-22T04:15:50.293 に答える
0
Match.Index は、一致したアイテムの元の文字列での最初の文字の位置を返します。
MatchCollection はICollection
インターフェイスのみを実装し、実装していないIList
ため、アイテムの matchcollection から直接インデックスを取得することはできないと思います。
Collection.CopyTo
ただし、 a を使用してそれを配列に移動できます。
http://msdn.microsoft.com/en-us/library/gg695671.aspx
配列には、インデックスを取得するために使用できるIndexOfがあります。
于 2012-10-22T04:17:06.523 に答える