获取我们用于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;

获取我们用于ReadAllText的某个文件中的特定值(字符串)

可以用同样的方法在"<img "之后找到"/>"的索引或" <p>" "的首次出现,然后使用string的Substring函数。在子字符串函数中,您可以将第二个参数传递为两个索引之间的差

如果你需要更多的灵活性,或者不喜欢乱用Regex,试试HTML敏捷包。

这是一个很棒的库,可以解析HTML,然后让您使用SelectNode检查HTML。