Obtenir l'index de la n-ième occurrence d'une chaîne de caractères?

Sauf si je suis en manque évident de la méthode intégrée, ce qui est le moyen le plus rapide pour obtenir le nth occurrence d'une chaîne dans une chaîne de caractères?

Je me rends compte que je pouvais boucle de la IndexOf par la méthode de mise à jour de son index de début de chaque itération de la boucle. Mais cette façon de faire semble un gaspillage de moi.

  • Je voudrais utiliser une des expressions régulières pour pas que vous devez voie optimale correspondant à la chaîne de caractères dans la chaîne. Ce dans l'une des belles DSLs nous devrions tous utiliser lorsque cela est possible. Un exemple dans VB.net le code est presque la même en C#.
  • Je place beaucoup d'argent sur les expressions régulières version nettement plus difficile d'obtenir le droit de "garder la boucle et faire simple Chaîne de caractères.IndexOf". Les expressions régulières ont leur place, mais ne doit pas être utilisé lorsque des alternatives plus simples existent.
  • Similaire: stackoverflow.com/a/9908392/1305911
InformationsquelleAutor PeteT | 2008-10-09