搜了一圈没有找到合适的方法,在一个网站终于发现了。直接献上
public static string Search_string(string s, string s1, string s2)
{
int n1, n2;
n1 = s.IndexOf(s1, 0) + s1.Length;
n2 = s.IndexOf(s2, n1);
return s.Substring(n1, n2 - n1);
}
s为该字符串,s1为s字符串中的前一段字符,s2为s字符串中的后一段字符。
返回结果就是s1跟s2字符段中键的字符段了。
举例:
比如要找 “今天是星期三” 字符串中的“星期”两个字符
s = “今天是星期三”;
s1 = “是”;
s2 = “三” ;
输出结果就是 “星期”
//题外话
通过s.IndexOf(s2, n1),这里我才知道indexOf()里面是可以加三个参数的。//n1就是从n1的位置开始查找s2 优化的写法。。
IndexOf(string value,int startIndex,int count).
string value
就是要查找的字符串。
int startIndex
就是从这个startIndex 索引的位置开始查找该字符串。//我之前理解成假如写成2,那么查找的结果会-2。。。我把这个位置理解成了起始位置0。好惨啊
int count
从int startIndex 这个位置开始查找的长度。如果你要查找“ abc” ,count 写成2,就算条件符合会返回-1的。//所以我理解成了从startIndex 这个位置向后查找的长度。
总之
indexOf 如果查询到该字符串,就会返回该字符串第一个字符的索引位置,如果没查到就返回-1.
献上原代码链接
link
感谢