我在服务器端使用asp.net项目。
我有以下字符串:<img src="../../SpatialData/sometext/813.jpg" style="width:190px">
在某些时候,我需要从字符串中提取src:
../../SpatialData/sometext/813.jpg
如何使用C#获取子字符串?
答案 0 :(得分:0)
您可以使用一些正则表达式来解决此问题...
var test = "<img src=\"../../SpatialData/sometext/813.jpg\" style=\"width:190px\">";
var pattern = @"<img src=""([^\""]*)";
var result = Regex.Match(test, pattern).Groups[1].Value;
Console.WriteLine(result);
问题是...如果您要对具有多个图像标签的任何html文档执行该功能,则无法正常工作,无法全部获取...
test = "<img src=\"../../SpatialData/sometext/813.jpg\" style=\"width:190px\"><img src=\"../../SpatialData/sometext/814.jpg\" style=\"width:190px\">";
var matches = Regex.Matches(test, pattern)
.Cast<Match>()
.Select(x=>x.Groups[1].Value);
foreach (var m in matches)
{
Console.WriteLine(m);
}
就像有人已经说过的那样,HTML敏捷包是一个值得研究的选项,我上面提供的解决方案非常严格,如果要对image标签上的属性进行不同的重新排序,则这些元素将不会包含在其中结果