我在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,因爲它可以檢測到所有的變化,如空格,額外的屬性,... –