我有一个用户输入文本,例如“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(使用前将#替换为@)