我们平时做一些爬虫或者其他一些功能时,经常会用到字符串截取两个特定字符中间的位置;截取办法有很多种,例如:根据长度截取、正则截取…等等。
今天教大家使用的是正则,c#取中间正则是:
(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))
那么实际用法就是:
/// <summary>
/// 获得字符串中开始和结束字符串中间得值
/// </summary>
/// <param name="str">要截取的字符串</param>
/// <param name="sta">开始字符</param>
/// <param name="end">结束字符</param>
/// <returns></returns>
public string GetMiddleValue(string str, string sta, string end)
{
Regex rg = new Regex("(?<=(" + sta + "))[.\\s\\S]*?(?=(" + end + "))", RegexOptions.Multiline | RegexOptions.Singleline);
return rg.Match(str).Value;
}
调用方法:
string newstr=GetMiddleValue("需要截取的字符","要","字符");
得到的结果就是:截取的