首先,有一个问题标题几乎完全匹配我的问题(在 C# 中等效的 strstr()),但他指的是一种方法来进行 byte[] 比较版本。
我正在寻找一个字符串比较,它输出 str1 中第一次出现 str2 的索引,但找不到它!
string s1 = ("BetYouCantFooFind");
string s2 = ("Foo");
int idx = strstrC#(s1,s2);
肯定有等价物吗?
首先,有一个问题标题几乎完全匹配我的问题(在 C# 中等效的 strstr()),但他指的是一种方法来进行 byte[] 比较版本。
我正在寻找一个字符串比较,它输出 str1 中第一次出现 str2 的索引,但找不到它!
string s1 = ("BetYouCantFooFind");
string s2 = ("Foo");
int idx = strstrC#(s1,s2);
肯定有等价物吗?
我想你正在寻找IndexOf
:
int idx = s1.IndexOf(s2);
var s1 = "BetYouCantFooFind";
var s2 = "Foo";
var idx = s1.IndexOf(s2); // Returns -1 if not found
Console.WriteLine("BoboTheClown".IndexOf("boT"));
我刚刚注意到这篇旧帖子,并想扩展答案。如果您不关心在 C 中使用时的情况,memicmp
或者以这种方式在 C# 中stricmp
扩展。IndexOf
int idx = s1.IndexOf(s2, StringComparison.OrdinalIgnoreCase);