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