gpt4 book ai didi

c# - 从文件中打印出部分字符串,从开始序列到停止序列

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

这是我的第一个问题,如果我违反了一些规则,我深表歉意。我也为我平庸的英语道歉。

我的任务是使用字符串从另一个文件写入一个文件。它需要打印出开始序列和停止序列之间的所有内容,并忽略其他所有内容。它还应计算所有字符、单词和消息数,但仅限于开始和停止之间。起始序列为 ASCII 27(ESC) AND ASCII 02(STX),停止序列为 27 AND 02。

所以我的问题是在一个字符串中最多有多个单独的消息。一两个,没问题,但我不知道如何找到多个序列。

如果只有一两个,我可以使用 string.IndexOf(start/stop) 和 LastIndexOf()。我尝试过 string[] array =string.Split() 运行整个字符串,但随后我拆分了序列。

有没有人知道如何解决这个问题?很抱歉没有代码的问题,但我只是在沮丧的愤怒中重新开始。如果我在这里做错了什么,请给我一些反馈,以便我下次可以更好地措辞 :)

最佳答案

尝试 this overload String.Split 的:

public string[] Split(
string[] separator,
StringSplitOptions options
)

我试过类似的方法:

string test = "blah blah blahtestblah blahtestblah";
string[] splits = test.Split(new string[] { "test" }, StringSplitOptions.RemoveEmptyEntries);
int nMessages = splits.Length;
int nWords = 0, nLetters = 0;

foreach (string str in splits)
{
Console.WriteLine(str);

nWords += str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Length;
nLetters += str.Length;
}
Console.WriteLine("That was {0} messages in {1} words and {2} letters", nMessages, nWords, nLetters);

现在计算除定界符之外的所有字符。此外,这会删除空格并且不考虑它们的消息,以及空白词(如在双空格的情况下)。也许您认为 "" 是一条消息...如果是这样,请不要使用 StringSplitOptions.RemoveEmptyEntries

关于c# - 从文件中打印出部分字符串,从开始序列到停止序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25789459/

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