我在string
阵列中列出了files
(.aspx,.cs,.html
等)。 我阅读了file
的所有内容。直到这里还好!如何读取所有文件内容并使用C#在文件内容中查找字符串?
我想要做什么是我想要搜索特定字符串
EG:
<meta name="description" content="NOINDEX" />
<meta name="keywords" content="NOINDEX" />
通过文件(S)的列表循环和获取文件的内容和检查是否contains
搜索字符串。
foreach (string item in strFiles)
{
innerList = item.Split(',');
if(!string.IsNullOrEmpty(innerList[0]))
{
fileList.Add(innerList[0]);
fileContents = File.ReadAllText(innerList[0].Replace("\\\\","\\"));
//if(fileContents.Contains(""))
if (fileContents.IndexOf(strToSearch) != -1)
{
Console.WriteLine("string contains strsearch");
}
}
}
上面的代码遍历所有files
和一个读取所有文件中的一个内容,但是,我不能够比较/找到文件内容完全匹配的字符串。
由于文件内容/换行字符等额外的空间
样品 'fileContent' 字符串:
<%@ Page Title="" Language="C#" MasterPageFile="~/_masterpages/MasterPage.master" AutoEventWireup="true" CodeFile="ChangePassword.aspx.cs" Inherits="Account_ChangePassword" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<meta name="description" content="NOINDEX" />
<meta name="keywords" content="NOINDEX" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentHeaderNav" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentBody" Runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentToggleBox" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="ContentBottom" Runat="Server">
</asp:Content>
样品 '搜索字符串':
<meta name="description" content="NOINDEX" /><meta name="keywords" content="NOINDEX" />
任何建议,请... ...!
帮助感谢!
你没有得到任何结果的原因是,indexof-方法也验证字符如\ r \ n(换行符等)。你必须把它们放到你的搜索字符串:) – Jannik
它更好地使用RegularExpressions,因为它可以检测到所有的变化,如空格,额外的属性,... –