解析 TSV 文件

2023-12-20

我需要解析 TSV 格式的文件(制表符分隔值)。我使用正则表达式将文件分解为每一行,但我找不到令人满意的正则表达式来解析每一行。 现在我已经提出了这个:

(?<g>("[^"]+")+|[^\t]+)

但如果该行中的某个项目有超过 2 个连续双引号,则该方法不起作用。

文件的格式如下:每个元素由表格分隔。如果项目包含制表符,则将其用双引号括起来。如果某个项目包含双引号,则该项目会加倍。但有时一个元素包含 4 个连续的双引号,上面的正则表达式会将元素拆分为 2 个不同的。

例子:

项目 1 确定“项目”“2”“确定”

被正确解析为 2 个元素:item1ok and 项目“2”确定(修剪掉不必要的引号后),但是:

项目1oK“项目”“”“2oK”

被解析为3个元素:item1ok, item and "2ok(再次修剪后)。

有谁知道如何使正则表达式适合这种情况?或者还有另一种解决方案可以简单地解析 TSV? (我在 C# 中执行此操作)。


你可以使用文本字段解析器 http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.fileio.textfieldparser.aspx。从技术上讲,这是一个 VB 程序集,但您甚至可以通过引用在 C# 中使用它Microsoft.VisualBasic.FileIO集会。

上面链接中的示例甚至显示了在制表符分隔的文件上使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 TSV 文件 的相关文章

  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • 如何在我的应用程序中使用 Windows Key

    Like Windows Key E Opens a new Explorer Window And Windows Key R Displays the Run command 如何在应用程序的 KeyDown 事件中使用 Windows
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 什么是 C 语言的高效工作流程? - Makefile + bash脚本

    我正在开发我的第一个项目 该项目将跨越多个 C 文件 对于我的前几个练习程序 我只是在中编写了我的代码main c并使用编译gcc main c o main 当我学习时 这对我有用 现在 我正在独自开展一个更大的项目 我想继续自己进行编译
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud

随机推荐

  • Puput(基于 Wagtail 的博客)- 文件在哪里?

    我已将 puput 博客添加到现有的 Django 项目中 我遵循了设置独立博客应用程序的所有步骤 https puput readthedocs io en latest setup html https puput readthedoc
  • 无法连接到 docker 的 docker 镜像中的守护进程 docker

    我正在尝试使用 gitlab 构建 CI 我从 docker 的 docker 镜像开始 我的前端存储库没有任何问题 但现在后端使用相同的 gitlab ci 配置文件 我遇到了这个守护进程错误 这是构建的输出 0KRunning with
  • 图像叠加闪烁?

    事实是所有这些解决方案都有效 只是不适用于该项目 所以我将重新提出问题 略有不同 本质上我有一个图像 当有人将鼠标光标移到它上面时 它会显示一个 div 其中包含一个图像 又名播放按钮 当他们将光标移动到图像之外时 播放按钮就会消失 它有效
  • 是否可以在 Excel VBA 中返回复选框的名称?

    我目前正在处理几个包含数百个复选框的工作表 这些复选框背后的代码工作正常 但我正在寻找一种方法来列出每列复选框的名称 即 例如 我需要知道 G 列中所有复选框的名称 有谁知道这是否可能 预先非常感谢 考虑使用 TopLeftCell 属性
  • 可数对象和不可数对象有什么区别

    我正在尝试找出可数和不可数对象之间的差异 首先我找到了对象的类型 echo gettype data current fiat currency 这是一个Object 但是当我检查它是否是一个可数对象时 var dump data curr
  • 获取 Google 折线图的颜色值?

    可以为 Google 图表设置颜色值 但是是否可以获取图表的预设颜色值 是否有一个数组可以保存这些值并可以访问 在此 Google 网上论坛讨论中 默认颜色数组未记录且无法访问 但是 如果您想要颜色数组 泽维尔 古马拉 https grou
  • VBA:具有多个操作的单行 if 语句

    我真的应该能够用谷歌搜索这个 但我找不到我想知道的东西 我想检查文件是否存在 如果没有 将弹出一个消息框 并且 VBA 应退出子进程 If Dir C file txt vbDirectory Then MsgBox File doesn
  • 为什么 Spark ML ALS 算法打印 RMSE = NaN?

    我使用 ALS 来预测评级 这是我的代码 val als new ALS setMaxIter 5 setRegParam 0 01 setUserCol user id setItemCol business id setRatingCo
  • 无法检索 write() 的 AudioTrack 指针

    我正在尝试实现 AudioTrack 以在 Android 设备中检索来自 IAX 的来电音频 但一段时间后遇到异常 private void writeBuff short buf try if this track null Log w
  • “长轮询”是创建 Web 实时应用程序的最有效方法吗?

    我想创建一个像这样的应用程序 http collabedit com http collabedit com 创建这个实时应用程序的最有效方法是什么 闪光 长轮询 Http 流式传输 或者是其他东西 谢谢 目前 长轮询可能是最好的解决方案
  • Office 365 Sharepoint 将文件上传到文档库

    我正在尝试使用以下代码通过 Web 服务将文件添加到 Sharepoint Office365 上的文档库 public void SaveFileToSharePoint string fileName try var copyServi
  • 如何使用 cli 获取帐户的接近余额?

    是否有可能使用接近帐户余额靠近 cli https docs near org docs tools near cli Running near state
  • 使用 Ansible 在 Windows 上执行 .exe

    我们想要在带有 Ansible 1 8 2 的 Windows Server 2012 上部署应用程序 我已经搜索并找到了a list http docs ansible com list of windows modules htmlWi
  • 如何在视图外评估 Aurelia 插值表达式?

    在 Aurelia 中 假设我有一个包含插值表达式的字符串 Today at value date time 和一些代表绑定上下文的对象 value new Date 有没有办法在视图之外只获取该字符串和该对象 并获取结果格式化字符串 即
  • 如何修复错误消息:“chromedriver.exe”可执行文件可能具有错误的权限[重复]

    这个问题在这里已经有答案了 我正在安装 selenium 的网络驱动程序 但是我收到以下错误 PermissionError Traceback most recent call last usr local lib python3 6 d
  • 排除 Twitter 流中的回复 - tweepy

    我正在使用 tweepy 从 Twitter 的流 api 中提取推文 然后我用它来自动回复该用户 例如 如果我想从中提取实时推文然后回复唐纳德 特朗普 我可以使用 import tweepy from tweepy import Stre
  • 在 Apache Kafka 中,为什么消费者实例不能多于分区?

    我正在学习卡夫卡 阅读这里的介绍部分 https kafka apache org documentation html introduction https kafka apache org documentation html intr
  • Android EditText 以编程方式调整大小

    我有一个视图 其中有两个 LinearLayout 一个包含文本 EditText 和一个按钮 另一个仅包含文本和 EditText 我试图让第二个 EditText 在第二行 的宽 度与第一行的宽度相匹配 我尝试将其设为 TableLay
  • 将数据帧转换为 JSON 时删除空数组字段

    有没有什么方法可以通过不使用那些为空的字段来从 Spark 数据帧创建 json 假设我有一个数据框 name hit songs beatles help hey jude romeo eres mia juliet null 我想将其转
  • 解析 TSV 文件

    我需要解析 TSV 格式的文件 制表符分隔值 我使用正则表达式将文件分解为每一行 但我找不到令人满意的正则表达式来解析每一行 现在我已经提出了这个