获取字符串中所有单词的索引

时间:2012-12-14 06:50:42

标签: c#

我有一个字符串,其中包含多次Word ... 我希望逐个找到该单词的每次出现,并且需要在那之后添加一些其他单词。

示例 -

<start>
<child1>
.
.
.
<start>
<child2>
..

等等......

我试过了。

int count = Regex.Matches(StrRemoveWrongData, @"<start>").Count;

它给我数数,我们可以逐一去每一次事件。 并在下面添加新单词..

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:StrRemoveWrongData = StrRemoveWrongData.Replace(@"<start>", newString);

答案 1 :(得分:2)

根据你的头衔,获得所有索引;

 var indexList = Regex.Matches(StrRemoveWrongData, @"<start>").Cast<Match>()
                    .Select(m => m.Index)
                    .ToList();

如果您的替换算法比简单的字符串更复杂,您可以使用Regex.Replace的重载

int count = 1;
var newstr = Regex.Replace(StrRemoveWrongData, @"<start>", 
                       m => { 
                           //Do some work
                           return String.Format("<child{0}>",count++);
                       }
              );