fparsec 解析字符串序列

2024-02-23

我有一个用户输入文本,例如“abc,def,ghi”。我想解析它以获取字符串列表[“abc”,“def”]。

I tried

let str : Parser<_> = many1Chars (noneOf ",")
let listParser : Parser<_> = many (str);;

但它总是只给我第一个项目[“abc”]。 “Def”和其他内容未出现在结果列表中


您正在解析第一个逗号,但不解析逗号本身。

要解析由其他事物分隔的事物列表,请使用sepBy http://www.quanttec.com/fparsec/reference/primitives.html:

let comma = pstring ","
let listParser = sepBy str comma

如果您需要解析“至少一个”,请使用sepBy1反而。

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

fparsec 解析字符串序列 的相关文章

  • F# 类型提供程序和数据处理

    在上一个问题中 使用静态类型语言处理异构数据 https stackoverflow com questions 1798920 working with heterogenous data in a statically typed la
  • F# 中的全局运算符重载

    我正在开始为笛卡尔积和矩阵乘法定义自己的运算符 将矩阵和向量别名为列表 type Matrix float list list type Vector float list 我可以通过编写自己的初始化代码 并获得笛卡尔积 let inlin
  • F# 中的非类型化/类型化代码引用与宏卫生之间是否存在关系?

    我想知道 F 中的非类型 类型代码引用与宏系统的卫生之间是否存在关系 他们是否用各自的语言解决相同的问题 或者它们是不同的关注点 元编程方面是唯一的相似之处 即使在这方面 也存在很大的差异 您可以将宏的转换器视为从语法到语法的函数 就像您可
  • 将 OCaml 转换为 F#:将 OCaml open_box 和 close_box 转换为 F#

    我正在将几个基于 OCaml 的模块转换为 F 并遇到了 OCaml 打印格式化函数open box 和 close box http caml inria fr pub docs manual ocaml libref Format ht
  • F# 图表示例

    我想使用内置功能或免费库在 F 中做一些基本的图表 我会对一个非常基本的例子感到非常非常满意 如果可能的话 饼图 示例数据 John 34 Sara 30 Will 20 Maria 16 其中整数是饼图中要表示的百分比 我最近安装了 VS
  • 平台调用 F# 回调函数

    我在 Raspberry Pi 2 ARM 7 和单声道 上使用 F 我目前正在尝试使用用 C 编写的 WiringPi 库 我已经成功地使用 P Invoke 来使用一些函数 现在我尝试使用中断 参见http wiringpi com r
  • 如何从复合泛型类型中检索值?

    如何从泛型中检索值 具体来说 我正在尝试以下操作 Test let result Validate goodInput How to access record let request getRequest result 这是代码 type
  • 没有带有常量“模板参数”的 F# 泛型?

    我突然想到 F 泛型似乎不接受常量值作为 模板参数 假设有人想创建一种类型RangedInt这样 它的行为类似于 int 但保证只包含整数值的子范围 一种可能的方法是建立受歧视的工会 类似于 type RangedInt Valid of
  • 如何统计字符串中特定字符的出现次数

    我不知道从哪里开始检查字符串中特定字符的 n 次出现 我已经列出了我认为是该功能框架的基本轮廓 但我不确定内容是什么 let countCharFromNth getStr string chkdChar char if getStr Le
  • 在 F# 中的 Choice 之上构建 Either(或 Result)

    我根据 Scott Wlaschin 中的信息构建了一个成功 失败的 monadblog http fsharpforfunandprofit com posts computation expressions wrapper types
  • 如何搭建Windows Phone开发环境并使用F#开发应用程序?

    我已经下载了Windows Phone开发工具 但我不知道如何使用F 来开发应用程序 目前是C 将 F 和 Windows Phone 模板安装到 Visual Studio 中可以让生活变得更轻松 如果您打开 Visual Studio
  • F# 是卡牌游戏 AI 的好语言吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何更改 Rx Builder 实现来修复堆栈溢出异常?

    我正在尝试提出一个 Rx Builder 以在 F 计算表达式语法中使用反应式扩展 我该如何修复它 以免堆栈崩溃 就像下面的 Seq 例子一样 是否有计划提供 RxBuilder 的实现作为响应式扩展的一部分或作为 NET Framewor
  • 在 Blazor 中显示计时器

    我正在尝试在服务器端 Blazor 应用程序中显示倒计时器 我的代码同时使用 F 和 C 语言 该代码在某种程度上可以工作 但计时器永远不会按预期停止 并且计时器显示偶尔不会呈现所有数字 这是我第一次尝试 Blazor 服务器端应用程序 我
  • Async.TryCancelled 不适用于 Async.RunSynchronously

    我尝试创建一个根据用户交互更新 UI 的代理 如果用户单击按钮 则应刷新 GUI 模型的准备需要很长时间 因此希望如果用户单击其他按钮 则取消准备并开始新的准备 到目前为止我所拥有的 open System Threading type p
  • 如何在 FsCheck 中注册任意实例并让 xUnit 使用它?

    我有一个类型Average有一个字段count这是积极的int64 and a double字段称为sum 我做了一个任意的生成有效实例的操作 let AverageGen Gen map2 fun s c gt Average float
  • 如何在插件场景中实现程序集绑定重定向?

    我有一个plugin P延伸和application A NET40 我无法控制 P 程序集 NET40 有一个shared dependency D NET35 P和D都依赖于FSharp Core 但版本不同 P是针对FSharp Co
  • 管道序列中的异常处理

    我正在开发一个基本的 2D CAD 引擎 管道操作符显着改进了我的代码 基本上 有几个函数从空间中的点 x y 开始 并在多次移动操作后计算最终位置 let finalPosition startingPosition gt moveByL
  • f# 运行总计序列

    好吧 这看起来应该很容易 但我就是不明白 如果我有一个数字序列 如何生成由运行总计组成的新序列 例如 对于序列 1 2 3 4 我想将其映射到 1 3 6 10 以适当的功能方式 Use List scan https msdn micro
  • 如何在MVVM中实现appSettings

    我正在尝试摆脱我使用的警告appSettings在 WPF 项目中 应用程序配置

随机推荐

  • Android getResources().getDrawable() 已弃用 API 22

    使用新的 Android API 22getResources getDrawable 现已弃用 现在最好的方法是只使用getDrawable 发生了什么变化 您可以选择一些选项来正确处理此弃用 并且未来证明 方式 具体取决于您正在加载哪种
  • QLineEdit 的背景图像

    如何设置背景图片QLineEdit 以下样式表不起作用 QLineEdit background image url images 13 png QLineEdit border 1px solid 000000 image work wi
  • 如何在Python中记录源文件名和行号

    是否可以装饰 扩展Python标准日志记录系统 以便在调用日志记录方法时它还记录文件和调用它的行号或者调用它的方法 当然 检查一下格式化程序 http docs python org library logging html formatt
  • Jenkins 多分支 - 如何扫描 jenkinsfile 放置在子模块上的分支?

    我有一个主存储库 其中包含一个子模块 其中包含 Jenkinsfile 有了这个 我想为该主存储库创建一个多分支管道作业 但这不起作用 当 Jenkinsfile 不在子模块中时它可以工作 但当 Jenkinsfile 位于子模块中时它不会
  • 在 HERE 地图中的标记上悬停时显示内容 Div

    我是这里的地图新手 需要在标记悬停时显示一个 div 我已经能够放置带有图标的标记 但现在需要显示带有一些额外信息的 div HERE 地图 API 是否提供此功能 任何文档 URL 或一段代码都将受到赞赏 注意 我正在使用 HERE 网络
  • 如何在 Twitter Bootstrap 中使用 CSS 将文本对齐到元素的中间?

    我在用引导程序 http twitter github com bootstrap javascript html alerts警报 这是我的成功警报消息 div class alert alert success a class clos
  • 调度程序未在 Spring Boot 中运行

    我创建了一个 Spring Boot 应用程序 我已经配置了包含调度程序方法的类startService 下面是我的代码 服务等级 package com mk service import org springframework bean
  • CSS 使文本左对齐并同时对齐

    有没有办法让文本左对齐并同时对齐 意思是左对齐之类的 有什么办法可以实现这一点吗 感谢帮助 您可能正在寻找最后一行的左对齐 text align justify text align last left
  • 如何让用户输入不区分大小写?

    我想创建一个函数来过滤我要打开的文件以及具体的月份和日期 这样 用户需要输入他们想要在哪个特定月份或日期分析哪个城市 文件 但是 我希望用户能够输入不区分大小写的内容 例如 用户可以输入 chicago CHICAGO ChIcAgO 它仍
  • 如何设置shell脚本的进程组

    如何设置shell脚本的进程组 我还希望所有子进程都位于同一个进程组中 我期望类似的东西setpgid in C As 普斯科西克指出 https stackoverflow com a 45112755在大多数 shell 中 通过激活作
  • 使用 WebFlux 的 Spring Boot 在测试中总是抛出 403 状态

    非常感谢您查看我的问题 我有一些奇怪的主题 我的 Spring Boot 测试不起作用 它们启动成功 但在向任何控制器发出请求时总是抛出 403 HTTP 状态 我有一些具有下一个依赖项的项目 buildscript ext kotlin
  • 多索引数据框 pandas 中的操作

    我需要处理大数据 csv 中的地理和统计数据 它包含来自地理行政和地统计的数据 城市 区位 地统计基本区划和区块构成层次指标 我必须为地理索引中数据的最大值的每个元素创建一个新列 data2 并将每个块值除以该值 对于每个索引级别 索引级别
  • 如何在不使用库(Metrics)的情况下制作MAE和RAE的函数?

    我的目标是创建平均绝对误差 MAE 和相对绝对误差 RAE 的函数 而不使用任何类型的库 例如库 Metrics 我尝试在 MAE 和 RAE 的函数内输入公式 mae lt function a b mean abs a b rae lt
  • Android WebView HTTP Cookie 在 API 21 中不起作用

    我有一个使用 WebView 和 HTTP cookie 的 Android 应用程序 此应用程序适用于运行 API 19 或更低版本的 Android 设备 API 21 不会保存 http cookie 以供以后参考 Android W
  • ffmpeg 连接并保留元数据流

    我正在尝试连接 GoPro Hero6 分割电影的多个文件以避免 FAT 4GB 限制 ffmpeg 非常适合此目的 但我需要在元数据流中编码的遥测数据 而 ffmpeg 默认情况下似乎不保留此数据 使用ffprobe命令你可以看到源视频有
  • 如何在 MDriven 中设置日期和时间选择器?

    我试图在 MDriven 中捕获日期和时间 但数据类型 DateTime 的默认值仅显示日期选择器 在 Web 中 但时间存储在持久层中 我又如何捕捉时间 我在wiki mdriven net https wiki mdriven net
  • 在xml中定义没有class属性的bean

    我是 Spring 世界的新手 在一次采访中 有人问我们是否可以在 XML 中创建一个 bean 而不指定class 也就是说 bean 只会有一个id属性 我对此没有答案 请告知我们是否可以在 Spring 中以 XML 形式创建一个 b
  • Android NDK - 在配置更改时强制库重建

    在 Eclipse 中更改构建配置时 有没有办法强制 Android NDK 重建特定库 我正在使用 Android NDK 构建一个 Android 项目来构建 C 库 我正在使用带有 Sequoyah 插件的 Eclipse 一切都已设
  • 是否有现有的 gem 或脚本可以将数字转换为 comp-3/压缩十进制格式?

    继续我将 COBOL 转换为 Ruby 程序的冒险 我必须将十进制数字转换为 comp 3 压缩十进制格式 有人知道一个简单的 Ruby 脚本或 gem 可以做到这一点吗 伯恩斯 Ruby 知道如何打包半字节 因此结果非常简单 def pa
  • fparsec 解析字符串序列

    我有一个用户输入文本 例如 abc def ghi 我想解析它以获取字符串列表 abc def I tried let str Parser lt gt many1Chars noneOf let listParser Parser lt