正则版:
/// <summary>
/// 获得字符串中开始和结束字符串中间得值
/// </summary>
/// <param name="str">字符串</param>
/// <param name="s">开始</param>
/// <param name="e">结束</param>
/// <returns></returns>
public static string GetValue(string str, string s, string e)
{
Regex rg = new Regex("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);
return rg.Match(str).Value;
}
坐标版:
/// <summary>
/// 获得字符串中开始和结束字符串中间的值
/// </summary>
/// <param name="t">字符串</param>
/// <param name="k">开始</param>
/// <param name="j">结束</param>
/// <returns></returns>
private static string GetText(string t, string k, string j) //截取指定文本,和易语言的取文本中间差不多
{
try //异常捕捉
{
var kn = t.IndexOf(k, StringComparison.Ordinal) + k.Length;
var jn = t.IndexOf(j, kn, StringComparison.Ordinal);
return t.Substring(kn, jn - kn);
}
catch //如果发现未知的错误,比如上面的代码出错了,就执行下面这句代码
{
return "发现异常错误!"; //返回错误
}
}
举个栗子:
string strInfo=“112233”;
string strResult=GetText(strInfo,“11”,“33”)
那么输出结果则为:22