2012-05-15 71 views
0

我有一个这样的字符串:IndexAt与条件

arc boat arc ship arc ship ship arc boat arc 

,我需要找到一个遵循“舟”第一“弧”的指标。

在C#中遇到这种情况的最有效方法是什么?

+1

有你听说过正则表达式? –

+1

你的意思是“船”需要成为“弧”的直接前身? –

回答

2

这工作,如果你的意思是 '立即' 后:

myString.IndexOf("boat arc") + 5; 
+0

这完全滑了我的脑海! – Abdulla

+0

我想“紧跟在”之后“的”船“和一个空格字符”:)之后“ –

0
str.IndexOf("arc", str.IndexOf("boat")); 
+0

取决于OP是否意味着“立即*遵循船只的弧度”,或者如果两者之间可能有更多的文字。 – AAT

0

正则表达式是你的朋友

Regex reg = new Regex(@".*?boat\s*?(?=arc)"); 
Match match = reg.Match("arc boat arc ship arc ship ship arc boat arc"); 

int index = match.Length; 
0

您可以使用此正则表达式:

^(arc\sboat)