想象一个像这样的字符串序列:
我想检测由 test
和 startString
确定的字符串序列之间是否存在 endString
字符串。例如:
string test = "cc53";
string test2 = "hf15"
string startString = "aa11";
string endString = "ff99";
test.ExistsInBetween(startString, endString) // must be true
test2.ExistsInBetween(startString, endString) // must be false
public static bool ExistsInBetween(this string input, string start, string end)
{
// I don't know where to begin
}
我已经尝试(成功)将开始和结束之间的所有字符串生成为 HashSet<string>
并运行 hash.Contains(test)
,但是您可以想象这对于较长的字符串表现非常差。
注意事项:
答案 0 :(得分:2)
一个简单的 string.Compare
应该可以工作:
public static class StringExtensions
{
public static bool ExistsInBetween(this string input, string start, string end)
{
return string.Compare(input, start) >= 0 && string.Compare(input, end) <= 0;
}
}