在字符串中找含HTTP连接字符串的代码
代码如下:
private string GetHttpStr(string str, string httpStr)
{
bool Ishavevalue = false;
int newlength = httpStr.Length;
string newstr = null;
string httpendString = "<";
if (str.Length >= newlength && str.Contains(httpStr))
{
newstr = str.Substring(str.IndexOf(httpStr, StringComparison.OrdinalIgnoreCase) + newlength);
}
int startindex = 0;
startindex = str.IndexOf(httpStr, StringComparison.OrdinalIgnoreCase);
int lengthindex = 0;
string returnvalue = null;
if (startindex >= 0)
{
if (newstr.IndexOf('"') != -1 && newstr.IndexOf('"') <= newstr.IndexOf(httpendString))
{
lengthindex = newstr.IndexOf('"') + newlength;
}
else if (newstr.IndexOf('"') == -1 && newstr.IndexOf(httpendString) == -1)
{
lengthindex = str.Length;
}
else
{
lengthindex = newstr.IndexOf(httpendString) + newlength;
}
if (lengthindex == (newlength - 1))
{
lengthindex = newstr.IndexOf(httpendString) + newlength;
}
returnvalue = str.Substring(startindex, lengthindex);
Ishavevalue = true;
}
returnvalue = ReplaceSpecialUrl(returnvalue);
return returnvalue + " " + ((startindex + lengthindex) < str.Length && startindex > 0 && Ishavevalue ? GetHttpStr(str.Substring(startindex + lengthindex), httpStr) : null);
}
因为HTTP连接在html都是以"结束或者<结束,所以根据传入的httpStr样式不区分大小写方式把字符串str含有的以递归的方式找出来。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架