0
String str =" vol ABCD C XYZ";
我想回到的「A」如何返回字符串中第二個單詞的索引,該字符串可以有多個空格,後跟一個單詞,後跟多個空格?
注意索引:有之前的所有單詞,包括第一多個空格。
String str =" vol ABCD C XYZ";
我想回到的「A」如何返回字符串中第二個單詞的索引,該字符串可以有多個空格,後跟一個單詞,後跟多個空格?
注意索引:有之前的所有單詞,包括第一多個空格。
這將讓A的指數在你原來的例子(String str =" vol ABCD C XYZ";
):
int indexOfABCD = str.IndexOf(str.Trim()[str.Trim().IndexOf(' ')+1]);
如果您有類似String str = " vol ABCD C XYZ";
那裏有多個空格:
string secondword = str.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries)[1];
int indexOfAinABCD = str.IndexOf(secondword.First());
如果你想獲得所有字母的第二個字的索引:
IEnumerable<int> fullindex = Enumerable.Range(indexOfAinABCD, secondword.Length);
編輯:
如果你在第一個詞的其他地方有這個,這將失敗。你應該通過正則表達式得到一個確切的匹配:
int indexOfAinABCD = Regex.Match(str, string.Format(@"\W{0}\W",secondword)).Index+1;
IEnumerable<int> fullindex = Enumerable.Range(indexOfAinABCD, secondword.Length);
因此,像String str = " vABCDol ABCD C XYZ";
將不再是一個問題
注意的是,如果第二個單詞的第一個字母也是第一個字的地方出現,這將失敗。 – Miral 2014-11-05 05:52:13
感謝您的支持!修正了我的答案。 – Tyress 2014-11-05 05:56:48