c# - 提取以 x 开头以 y 结尾的字符串

标签 c# string

首先,我对此进行了搜索,并找到了如何使用类似 String.Split() 的方法来根据条件提取字符串。但是,我也找不到如何根据结束条件提取它。例如,我有一个包含图像链接的文件:http://i594.photobucket.com/albums/tt27/34/444.jpghttp://i594.photobucket.com/albums/as/asfd/ghjk6 .jpg 您会注意到所有图像都以 http:// 开头并以 .jpg 结尾。但是,.jpg 的后面是没有空格的 http://,这让这有点困难。

所以基本上我正在尝试找到一种方法(正则表达式?)从以 http://开头并以 .jpg 结尾的字符串中提取字符串

最佳答案

正则表达式是执行此操作的最简单方法。如果您不熟悉正则表达式,您可以查看 Regex Buddy .这是一个相对便宜的小工具,我在学习时发现它非常有用。对于您的特定情况,可能的表达方式是:

(http://.+?\.jpg)

它可能需要更多的改进,因为边界情况可能会导致它出错,但如果文件是一个简单的列表,它就可以工作。


您还可以免费快速测试表达式 here .


根据您的最新评论,如果您也有指向其他非图像的链接,那么您需要确保它不是从一个链接的 http://开始,而是一直阅读到 .jpg下一张图片。由于 URL 不允许有空格,您可以这样做:

(http://[^\s]+\.jpg)

这基本上是说,“匹配一个以 http://开头并以 .jpg 结尾的字符串,其中两个字符之间至少有一个字符并且这些字符都不是空格”。

关于c# - 提取以 x 开头以 y 结尾的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2535296/

相关文章:

c# - 获取 VSTO 中先前标记的 Excel 单元格的范围

c# - 如何在 Winforms 中以编程方式选择数值 UpDown 值?

c# - SqlConnection InfoMessage 仅在执行结束时触发

c - 如何从 C 中的 char 数组中去除前导 "http://"?

linux - bash 脚本删除文件中的字符串

c - 如果比较不适用于 char,则很简单

c# - 我如何模拟 IQueryable<T>

c# - 无法从 chrome 设置默认下载目录

c++ - 添加用户定义类型 C++

java - 我如何从文本时钟中获取值