首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Sprache解析短语(由空格分隔的词)

用Sprache解析短语(由空格分隔的词)
EN

Stack Overflow用户
提问于 2019-05-13 11:47:28
回答 1查看 691关注 0票数 1

我正试图用Sprache写一个解析器来解析一个短语

基本规则是,它应该包含由单个空格分隔的单词,字符串的第一个和最后一个字符都是空格。

我希望这样称呼如下:

代码语言:javascript
复制
string phrase = PhraseParser.Parse("         I want to return up to this point        ");

并让得到的字符串是“我想要返回到这一点”。

我已经尝试了无数的实现,没有一个完全是为我做的。

由于@PanagiotisKanavos,更新,诀窍是使用.Then()操作符。以下文字:

代码语言:javascript
复制
public static Parser<string> WordParser =
        Parse.Letter.Many().Text().Token();

public static Parser<string> PhraseParser =
        from leading in Parse.LetterOrDigit.Many().Text()
        from rest in Parse.Char(' ').Then(_ => WordParser).Many()
        select leading + " " + String.Join(" ", rest);

可能还能把它弄干净一点,但概念已经存在了。

EN

回答 1

Stack Overflow用户

发布于 2019-05-13 13:34:04

由于@PanagiotisKanavos,诀窍是使用.Then()操作符。以下工作:

代码语言:javascript
复制
public static Parser<string> WordParser =
    Parse.Letter.Many().Text().Token();

public static Parser<string> PhraseParser =
    from leading in Parse.LetterOrDigit.Many().Text()
    from rest in Parse.Char(' ').Then(_ => WordParser).Many()
    select leading + " " + String.Join(" ", rest);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56111664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档