记录和存储文本实例

发布于 2024-12-05 21:55:10 字数 355 浏览 0 评论 0原文

我想编写一个简单的代码,计算 txt 文件中最常出现的三个行/文本,然后将该行/文本保存到另一个文本文件(这又将被读入 AutoCAD 的变量系统)。

忘记了我可以管理的 AutoCAD 部分,如何在 VB.net 中将 3 个最重复出现的文本行分别保存到自己的文本文件中,请参见下面的示例:

要读取的文本文件读取如下:

APG 贝特瑞 虚拟交通系统 虚拟交通系统 虚拟交通系统 虚拟交通系统 贝特瑞 贝特瑞 APG PNG

然后,VB.net 程序会将文本 VTS 保存到mostused.txt BTR 保存到2ndmostused.txt,APG 保存到3rdmostused.txt

如何最好地实现这一点?

I would like to make a simple code that counts the top three most recurring lines/ text in a txt file then saves that line/ text to another text file (this in turn will be read into AutoCAD’s variable system).

Forgetting the AutoCAD part which I can manage how do I in VB.net save the 3 most recurring lines of text each to its own text file see example below:

Text file to be read reads as follows:

APG
BTR
VTS
VTS
VTS
VTS
BTR
BTR
APG
PNG

The VB.net program would then save the text VTS to mostused.txt BTR to 2ndmostused.txt and APG to 3rdmostused.txt

How can this be best achieved?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

扬花落满肩 2024-12-12 21:55:10

由于我是 C# 开发人员,因此我将使用它:

var dict = new Dictionary<string, int>();
using(var sr = new StreamReader(file))
{
   var line = string.Empty;
   while ((line = sr.ReadLine()) != null) 
   {
     var words = line.Split(' '); // get the words
     foreach(var word in words)
     {
       if(!dict.Contains(word)) dict.Add(word, 0);
       dict[word]++; // count them
     }
   }
}

var query = from d in dict select d order by d.Value; // now you have it sorted
int counter = 1;
foreach(var pair in query)
{
   using(var sw = new StreamWriter("file" + counter + ".txt"))
     sw.writer(pair.Key);
}

Since I'm C# developer, I'll use it:

var dict = new Dictionary<string, int>();
using(var sr = new StreamReader(file))
{
   var line = string.Empty;
   while ((line = sr.ReadLine()) != null) 
   {
     var words = line.Split(' '); // get the words
     foreach(var word in words)
     {
       if(!dict.Contains(word)) dict.Add(word, 0);
       dict[word]++; // count them
     }
   }
}

var query = from d in dict select d order by d.Value; // now you have it sorted
int counter = 1;
foreach(var pair in query)
{
   using(var sw = new StreamWriter("file" + counter + ".txt"))
     sw.writer(pair.Key);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文