RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 996996
Accepted
Vladimr Vladimirovoch
Vladimr Vladimirovoch
Asked:2020-06-27 17:51:40 +0000 UTC2020-06-27 17:51:40 +0000 UTC 2020-06-27 17:51:40 +0000 UTC

算法问题,如何将文本分解为单元格

  • 772

我有一个任务,输入有一个文本,(字符串数组),我需要以某种方式将这个文本分解为表格中的单元格(某种网格),然后有这个网格,我知道地址单元格,可以从那里获取所在的值。这个事件的本质是我有相同格式的小文本文件,当这个文件被视为一个网格、一个表格时,用户只需选择一个包含他需要的数据的单元格就可以了,然后我从中获取数据这个细胞和我处理它们。当然我知道如何划分文件的内容可能会有困难。现在这个问题在正则表达式的帮助下得到了解决。但是对于普通用户来说是非常困难的。我希望它更容易,直观地选择一个带有数据的单元格,就是这样。也许已经有图书馆,谁可以帮助解决这个问题或有人有类似的经历。我举个例子,有一个文件具有这样的结构和格式。

Дата :            25/06/2019 11:18:49
        Автор  отчета :     Лаборатория
 Хроматограмма  :      Брусковый  14.06.19
 Дата  запуска :      17/06/2019 12:46:29
  Файл:                D:\Mult\Data\  БП\190617124629
        Дата  записи : 17/06/2019 13:11:30
  Метод:                      БП.mtw
        Дата  записи : 14/06/2019 09:22:11
 Оператор  анализа  :  Лаборатория
 Номер  анализа :     2930
 ПРОБА :             1,85
  Пробирка № :        1
 Объем :             1.0    мкл
 Разведение  :        1.00
 Количество  :        1.00
 КОЛОНКА :
 Размер :               2.0   х60  мм
  ПОДВИЖНАЯ  ФАЗА A:
  Скорость подачи :   0.00   mL/min
  MPa
     mV
                                       1
    0.45
    0.40
         ִֻװ
    0.35                                                ֿ◌ֱ◌
    0.30
                                                        0.004 
    0.25
    0.20
    0.15
    0.10
    0.05
       0  1  2  3  4 5  6  7  8  9 10 11 1213 14 15 16 1718 19 20 21 2223 24 25   םטל
         РЕЗУЛЬТАТЫ   РАСЧЕТА
 Метод  расчета :      Заказной
 Стандарт :            БП
   No   Время    Высота      Площадь           Конц .            Название
          мин         mV     mV* сек
   1   11.36     0.28      22.30             0
   2   17.11     0.19       8.45      0.003623         БП
 __________________________________________________________________
   2      25     0.47      30.75      0.003623
 Отчет  выдан  программой   МультиХром
  © 1993-2008  ЗАО  Амперсенд

这就是现在向用户显示文件的方式,我想让它更容易,用户在整个文件中直观地指示了一个位置 0.003623(戳到该值所在的单元格中),程序记住了该位置和下一次加载了另一个文件,但格式相同,它只是从单元格中获取数据,为此我需要用这个文本制作一个表格。

c#
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Alexander Petrov
    2020-06-27T18:39:27Z2020-06-27T18:39:27Z

    在 Windows 窗体上绘制了一个示例程序。

    文本显示在 中RichTextBox。用户选择必要的信息,按下“存储”/“记住”按钮。值richTextBox.SelectionStart和richTextBox.SelectionLengt存储在变量中。您可以将它们添加到列表中以记住许多位置。您可以将它们进一步保存到文件/数据库中。

    当需要恢复之前存储的位置时,用户按下“恢复”/“恢复”按钮。我们设置属性richTextBox.SelectionStart和richTextBox.SelectionLength等于之前记忆的属性。

    using System;
    using System.IO;
    using System.Windows.Forms;
    
    namespace WinFormApp1
    {
        public partial class Form1 : Form
        {
            RichTextBox richTextBox;
            Button storeSelectedButton;
            Button restorePositionButton;
    
            int selectionStart;
            int selectionLength;
    
            public Form1()
            {
                Size = new System.Drawing.Size(500, 500);
                richTextBox = new RichTextBox { Parent = this, Dock = DockStyle.Top, Height = 400, HideSelection = false, ReadOnly = true };
                richTextBox.Text = File.ReadAllText("test.txt");
    
                storeSelectedButton = new Button { Parent = this, Top = richTextBox.Bottom + 20, Text = "Store" };
                restorePositionButton = new Button { Parent = this, Top = storeSelectedButton.Top, Left = storeSelectedButton.Right + 50, Text = "Restore" };
    
                storeSelectedButton.Click += StoreSelectedButton_Click;
                restorePositionButton.Click += RestorePositionButton_Click;
            }
    
            private void StoreSelectedButton_Click(object sender, EventArgs e)
            {
                selectionStart = richTextBox.SelectionStart;
                selectionLength = richTextBox.SelectionLength;
    
                // save values to file/database
            }
    
            private void RestorePositionButton_Click(object sender, EventArgs e)
            {
                // load values from file/database
    
                richTextBox.SelectionStart = selectionStart;
                richTextBox.SelectionLength = selectionLength;
            }
        }
    }
    

    如果另一个文件具有完全相同的格式,那么选择肯定会在它上面起作用。但是,如果至少在空格上存在差异,则选择将“滑动”。

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    根据浏览器窗口的大小调整背景图案的大小

    • 2 个回答
  • Marko Smith

    理解for循环的执行逻辑

    • 1 个回答
  • Marko Smith

    复制动态数组时出错(C++)

    • 1 个回答
  • Marko Smith

    Or and If,elif,else 构造[重复]

    • 1 个回答
  • Marko Smith

    如何构建支持 x64 的 APK

    • 1 个回答
  • Marko Smith

    如何使按钮的输入宽度?

    • 2 个回答
  • Marko Smith

    如何显示对象变量的名称?

    • 3 个回答
  • Marko Smith

    如何循环一个函数?

    • 1 个回答
  • Marko Smith

    LOWORD 宏有什么作用?

    • 2 个回答
  • Marko Smith

    从字符串的开头删除直到并包括一个字符

    • 2 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5