假设你有一个字符串("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
之外,是否存在一种方法(现有的或易于扩展),可以确定子字符串的结束索引?
C#
是否包含一个返回字符串结尾而不是开头(像IndexOf
一样)的方法。我目前使用的方法是startValueFromIndexOf + string.Length
,只是想知道是否有其他可用的方法。 - levelonehumanstartIndex
只是决定从哪里开始查找;我不认为它会影响IndexOf()
实际返回的值。 - levelonehuman