获取我们用于ReadAllText的某个文件中的特定值(字符串)
本文关键字:字符串 文件 用于 我们 ReadAllText 获取 | 更新日期: 2023-09-27 18:16:57
感谢您的访问!!我是c#的新手,很抱歉,如果我问了一个愚蠢的问题,但我真的需要知道。
我有这样一个假设场景我想在某个文件中获取一些值例如我这样写txt文件:
<p>Hello Foo! I am Fityan, How have you been?</p>
<img src="~/Files/fityan.jpg"/>
<p>Another tag example<p/>
我尝试在文件上取<img/>
标记,所以我尝试这样做:
string fileContent = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "Files/"+item.Article+".txt");
string imgTag = fileContent.IndexOf("<img").ToString();
如您所见,对于上面代码的结果,我得到了这样的文本:
<img src="~/Files/fityan.jpg"/>
<p>Another tag example<p/>
但我只想要这一部分:
<img src="~/Files/fityan.jpg"/>
我该怎么做呢?
感谢你的回答,提前感谢:)
编辑:我刚刚找到了另一种方法来获得html尤其是html文件中的图像标签。当我在ASP MVC上尝试它时,它工作了:
string imgTagPath = Regex.Match(fileContent, "<img.+?src=['"'](.+?)['"'].+?>", RegexOptions.IgnoreCase).Groups[1].Value;
可以用同样的方法在"<img "
之后找到"/>"的索引或" <p>"
"的首次出现,然后使用string的Substring函数。在子字符串函数中,您可以将第二个参数传递为两个索引之间的差。
如果你需要更多的灵活性,或者不喜欢乱用Regex,试试HTML敏捷包。
这是一个很棒的库,可以解析HTML,然后让您使用SelectNode检查HTML。