获取搜索到的内容

/* 正则验证 */
/// <summary>
/// 返回与模式字符串匹配的值
/// </summary>
/// <param name="input">输入字符串</param>
/// <param name="pattern">模式字符串</param>
/// <returns></returns>
public static string Match(this string input, string pattern)
{
return input.IsNullOrEmpty() ? null : Regex.Match(input, pattern).Value;
}

 

/// <summary>
/// 获取搜索到的内容 正则表达式
/// </summary>
/// <param name="str">要搜索的字符串</param>
/// <param name="s1">开始位置</param>
/// <param name="s2">结束位置</param>
/// <returns></returns>
public static string MatchString(this string str, string s1, string s2)
{
return Match(str, @"(?<=" + s1 + ").*?(?=" + s2 + ")");
}

 

/// <summary>
/// 获取搜索到的内容
/// </summary>
/// <param name="str"></param>
/// <param name="s1">开始位置</param>
/// <param name="s2">结束位置</param>
/// <returns></returns>
public static string SearchString(this string str, string s1, string s2 = "")
{
if (str.IndexOf(s1) > -1 && str.IndexOf(s2) > -1)
{
int n1, n2;
n1 = str.IndexOf(s1, 0) + s1.Length; //开始位置 
n2 = str.IndexOf(s2, n1); //结束位置 
if (n2 == -1)
{
return string.Empty;
}
if (s2.IsNullOrEmpty())
{
n2 = str.Length;
}
return str.Substring(n1, n2 - n1); //取搜索的条数,用结束的位置-开始的位置,并返回 
}
return string.Empty;
}

  

原文地址:https://www.cnblogs.com/XuPengLB/p/8043559.html