如何从字符串中去除引号

How to strip quotes from a string

我写了一个简单的规则来匹配 ANTLR 语法中的字符串:

STRING
   :   '"' (ESC | ~["\])* '"'
   ;

实际上我需要字符串的内容而不是引号,引号只需要匹配一个字符串。

我找到了 ANTLR 3 的解决方案,which is published in the ANTLR wiki。但是我想知道是否有解决方案可以在没有自定义代码的情况下实现相同的目标。

这应该有效:

STRING
   :   '"' (ESC | ~["\])* '"'
   {setText(getText().substring(1, getText().length()-1));}
   ;

从字符串中删除第一个和最后一个字符很简单。

取自https://theantlrguy.atlassian.net/wiki/spaces/ANTLR3/pages/2687006/How+do+I+strip+quotes