如何返回字符串中第二个单词的索引,该单词可以有多个空格,后跟一个单词后跟多个空格?

时间:2014-11-05 05:10:15

标签: c# string parsing substring

String str ="  vol   ABCD C  XYZ";

我想返回“A”的索引

注意:在包括第一个单词的所有单词之前有多个空格。

1 个答案:

答案 0 :(得分:0)

这将获得原始示例中的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);

编辑:

如果你在第一个单词中的其他地方有A,那么这将失败。你应该通过Regex获得完全匹配:

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";之类的东西不会成为问题