c#将大量文本划分为块

c#将大量文本划分为块,c#,string,C#,String,c# 我有一大块文字。本文分为评论单元 文本看起来是这样的(为了不浪费时间解释你能看到的东西) MikeSmith randdesign第1章第1段 书籍设计 对这本书的评论是徒劳的 约翰布莱克设计第1章第1段 书籍设计 答:)如果这本书没有打开,而且有时会出现错误,那么对这本书的评论是徒劳的 这些行可以是多个较长的注释 willsmith randdesign第1章第1段 书籍设计 对这本书的任何评论都是徒劳的 正如你所看到的,这段文字很有趣,因为我是一个初学者,我在编码方面几乎没有经验,我有

c# 我有一大块文字。本文分为评论单元 文本看起来是这样的(为了不浪费时间解释你能看到的东西)

MikeSmith randdesign第1章第1段 书籍设计 对这本书的评论是徒劳的

约翰布莱克设计第1章第1段 书籍设计 答:)如果这本书没有打开,而且有时会出现错误,那么对这本书的评论是徒劳的 这些行可以是多个较长的注释

willsmith randdesign第1章第1段 书籍设计 对这本书的任何评论都是徒劳的

正如你所看到的,这段文字很有趣,因为我是一个初学者,我在编码方面几乎没有经验,我有c#3.0食谱,我试图应用查找字符串在另一个字符串中出现的所有位置的方法

我可以使用几个常量

1用户名将始终相同。(威尔史密斯)我有20个用户。 2结构将始终以用户名开头 3我希望导入的实际内容始终以a:)b:)c:)开头 我的问题如下:

答:)查找一个字符串在另一个字符串中出现的所有位置是否是查找数据开头和结尾的最佳方法

b:)有没有更快的办法从文本中删除数据

c:)有时一个用户会引用另一个用户的话,如果我查找名称,可能会得到误报。我该怎么处理呢


谢谢你的帮助a:是的,这很容易做到。假设您的文本块是一个巨大的字符串,该字符串称为“s”,那么您可以按新行字符分割文本,循环每行,并获取注释,如下所示:

string s = @"
MikeSmith randdesign chapter 1 paragraph 1 book randdesign a:) comments on the book are futile

Johnblack randdesign chapter 1 paragraph 1 book randdesign a:) comments on the book are futile if the book is left open and sometimes these lines can be multiple and long comments

willsmith randdesign chapter 1 paragraph 1 book randdesign a:) no comments on the book are futile
";

foreach (string line in s.Split('\n'))
{
    if (line.Trim() != "")
    {
        string comments = line.Substring(line.IndexOf("a:) ") + 4);
    }
}
也许吧,但这对你来说会很快

c:如果需要,可以尝试更改IndexOf()方法。您可以对其进行定制以查找任何内容,如您上面提到的“b:)”和“c:)”