C# 如何取字符串中含有网址

zqaaa1988 2012-04-13 01:57:36
比如字符串“详情请参考https://forum.csdn.net/PointForum/Forum/PostTopic.aspx?forumID=e2798a59-79d5-4833-9c57-87d46a8b907a这个网址”
前面的汉字和后面的汉字字数不定,如何把中间的网址取出来并给她加上超链接?
...全文
435 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqaaa1988 2012-04-13
  • 打赏
  • 举报
回复
Regex reg = new Regex(@"((http|https|ftp):(\/\/|\\\\)){0,}((\w)+[.]{1,}([\~]*))(.*[\x00-\xff])")

改写了bdmh 的正则表达式,实现了,输入www.baidu.com 也可以显示连接,谢谢大家的热情帮助!谢谢
罗小浩 2012-04-13
  • 打赏
  • 举报
回复
可以用字符串类的截取
string aa = "详情请参考https://forum.csdn.net/PointForum/Forum/PostTopic.aspx?forumID=e2798a59-79d5-4833-9c57-87d46a8b907a这个网址";
aa = aa.Substring(aa.IndexOf("http://"));
zqaaa1988 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你这个不好说吧前面的汉字可以去除,后面的汉字如果是参数的一部分呢
如果确认最后由汉字断开的话

Regex reg = new Regex(@"http://.*[\x00-\xff]")
[/Quote]

我用这个取出来了,但是这个正则表达式只是用于http://,那如果是https://或者ftp:// 或者直接是www
应该怎么写正则表达式呢?我对正则不是很了解,那位高手写下
梦世界 2012-04-13
  • 打赏
  • 举报
回复
可以试试 request.queerystring("http");
ycproc 2012-04-13
  • 打赏
  • 举报
回复
(http://)?(www\.)?([^\.]+\.)+(?:com|net|cn.....)
zqaaa1988 2012-04-13
  • 打赏
  • 举报
回复
OK,好用了,谢谢!

有没有人知道怎么获得iframe 的焦点,让鼠标在iframe的编辑区闪烁啊?
zqaaa1988 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
你这个不好说吧前面的汉字可以去除,后面的汉字如果是参数的一部分呢
如果确认最后由汉字断开的话

Regex reg = new Regex(@"http://.*[\x00-\xff]")
[/Quote]

Regex.IsMatch(text, @"((http|https|ftp):(\/\/|\\\\)((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(((\/[\~]*|\\[\~]*)(\w)+)|[.](\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*)", RegexOptions.IgnoreCase)

这个可以判断里面是否包含网址,但是怎么去他的位置以及确认最后由汉字断开的呢?具体代码应该怎么写?
杨友山 2012-04-13
  • 打赏
  • 举报
回复
bdmh 2012-04-13
  • 打赏
  • 举报
回复
你这个不好说吧前面的汉字可以去除,后面的汉字如果是参数的一部分呢
如果确认最后由汉字断开的话

Regex reg = new Regex(@"http://.*[\x00-\xff]")

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧