gpt4 book ai didi

c# - 在文件中搜索跨越两行的短语时,如何避免 CR 和 LF?

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:45 25 4
gpt4 key购买 nike

我正在尝试在 Html 文件中搜索单词或短语列表,然后在这些单词/短语周围添加 html 标签写回文件。文件的其余部分需要保持原样。我不知道如何解决短语被分成两行的情况。谁能帮忙?我是新手,所以请明确回答。

这是输入文件的一部分:(HTML p 标签在另一行)

<p>
The thousand injuries of Fortunato I had borne as I best could, but
when he ventured upon insult, I vowed revenge. You, who so well know
the nature of my soul, will not suppose, however, that I gave utterance
to a threat. <i>At length</i> I would be avenged; this was a point definitely

这是到目前为止的代码:

    //get the table of words
DataTable table = LibraryAccess.GetWords(titleID);

using (StreamReader streamReader = File.OpenText(fileUploadPath))
{
inputString = streamReader.ReadToEnd();
streamReader.Close();
textCopy.Append(inputString);
}

if (inputString != null)
{
inputString = inputString.ToUpper();

foreach (DataRow r in table.Rows)
{
searchWord = (r["Word"].ToString()).ToUpper();
wordLength = searchWord.Length;
foundIndex = inputString.IndexOf(searchWord);

//if (foundIndex >= 0)
//{

//Use the Stringbuilder to modify the output file, e.g. add Bold tags
//around the word/expression
//}

foundIndex = -1;

}
}
else
{
Response.Write("input string is empty");
}
}

我正在搜索的词是“gave utterance to”在源文件中,在 utterance 之后有一个 CRLF,所以 Indexof 没有找到 Word。我可以很容易地将 CRLF 替换为空白,但是当我写出修改后的版本时,我需要将它们放回文件中。我不知道如何保存它们。

关于如何有效地做到这一点有什么想法吗?我想为各种文件长度做。我最初是用 ReadLIne() 这样做的,出于内存原因我更喜欢这样做,但遇到了同样的问题。谢谢

最佳答案

在尝试处理 HTML 之前对其进行快速解析怎么样?通过 HtmlAgilityPack 扔它应该对从文档中提取文本的工作有很大帮助。

关于c# - 在文件中搜索跨越两行的短语时,如何避免 CR 和 LF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com