如何从字符串中的其他特定字符切出字符

时间:2018-11-04 16:41:56

标签: python antlr

在ANTLR中,我在字符串输入中为错误字符(制表符和单引号)定义了一行,例如 CHAR_ERROR:'“'* ['\ t] *'”'{提高CharError(self.text)}; 我的测试输入是“你好,我叫假人” 我在字符串中得到了输出“ Char错误:“你好,我叫假人”

但是对输出的要求必须是从字符串的开头到 仅错误字符,不包括前导双引号。 (例如,上面示例的输出应为:“你好,我的名字”) 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

据我了解,您不想更改规则匹配的内容,而只想在错误消息中显示匹配项的某个子字符串。因此,您可以只使用Python的字符串功能:

raise CharError(self.text[1:self.text.index("'")+1])

在这里,我们使用1作为开始索引来摆脱",并将+1添加到'的索引中,以将'包含在子字符串。