在子字符串后查找索引

人类

假设您有一个字符串(“ haystack”)和一个要搜索的子字符串(“ needle”):

 string haystack = "D0B11234 AM21ANP AM23AN1";
 string needle = "AM21AN";   

我正在寻找一种在寻找子字符串之后找到索引或子字符串的方法。

调用IndexOf()返回起始位置,index = 9在这种情况下:

int index = haystack.IndexOf(needle);

我最初的想法是使用LastIndexOf(),但是它返回大海捞针中最后一次出现起始索引

正如在类似问题(可能还有其他问题)中所回答的那样,如果您想紧随其后定位字符needle,则需要index像这样增加针的长度:

int index = haystack.IndexOf(needle);
int indexAfterNeedle = index + needle.Length;

除了index + needle.Length每次键入以外,是否还有一种方法(现有的,或者可能易于扩展),可以确定子字符串结尾索引?

CodeCaster

不,BCL没有内置任何内容。

通过扩展方法添加自己很简单

public static int EndIndexOf(this string source, string value)
{
    int index = source.IndexOf(value);
    if (index >= 0)
    {
        index += value.Length;
    }

    return index;
}

演示:

string testString = "D0B11234 AM21ANP AM23AN1";
string stringToSearch = "AM21AN";   

int endIndex = testString.EndIndexOf(stringToSearch);

Console.WriteLine(testString);
Console.WriteLine(endIndex);
Console.WriteLine(testString.Substring(endIndex));

输出:

D0B11234 AM21ANP AM23AN1
15
P AM23AN1

根据您的要求,这看起来像是一个一次性的错误,因此您可能需要更改它index += value.Length - 1以返回的最后一个字符的位置value,而不是后面的字符的索引。

您可能还想添加一个带有int startIndex参数的重载,并使用a实际从上述方法中调用该重载startIndex: 0

并确保将错误处理添加到扩展方法中,例如抛出anArgumentNullException等。

另外,如果要找到的字符串位于源字符串的末尾,则您不能使用此方法返回的值获取源字符串的子字符串,因为它将位于源字符串之外。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySql 子字符串索引,查找和替换字符

来自分类Dev

在指定起始索引的字符串中查找子字符串的索引

来自分类Dev

在指定起始索引的字符串中查找子字符串的索引

来自分类Dev

查找删除元素字符串后变为回文的索引

来自分类Dev

Python:在字符串中查找子字符串并返回该子字符串的索引

来自分类Dev

bash-查找子字符串的字符串索引位置

来自分类Dev

当字符串中有重复项时,查找子字符串的中间索引

来自分类Dev

Python:在字符串中查找子字符串,但返回 True 或 False 而不是索引位置

来自分类Dev

在字符串列表中查找子字符串,返回索引

来自分类Dev

查找并打印以python中的特定字符开头和结尾的字符串中的子字符串的索引

来自分类Dev

递归查找字符串的索引

来自分类Dev

查找某些字符串索引

来自分类Dev

递归查找字符串的索引

来自分类Dev

索引查找匹配字符串的位置

来自分类Dev

字符后的子字符串

来自分类Dev

查找以':'开头的子字符串,直到':'字符后的第一个空格

来自分类Dev

在字符串中查找子字符串

来自分类Dev

从字符串输出中查找子字符串

来自分类Dev

php字符串查找子字符串

来自分类Dev

在字符串中查找子字符串

来自分类Dev

查找不在字符串开头的子字符串

来自分类Dev

在字符串中查找子字符串

来自分类Dev

在字符串中查找子字符串

来自分类Dev

在字符串中查找子字符串

来自分类Dev

从字符串中查找子字符串

来自分类Dev

在字符串中查找子字符串

来自分类Dev

python在字符串中查找子字符串

来自分类Dev

Bash - 在字符串中查找子字符串

来自分类Dev

使用Java在数组中查找子字符串索引

Related 相关文章

热门标签

归档