【发布时间】:2012-09-16 05:21:15
【问题描述】:
我想在使用 string_concat 时转义 swipl 中的反斜杠。
场景1-
string_concat('stack', ' overflow', Result).
Result = "stack overflow"
场景 2-
string_concat('stack', ' \=overflow', Result).
Syntax error: Undefined character escape in quoted atom or string: `\='
场景3-
string_concat('stack', ' \\=overflow', Result).
Result = "stack \\=overflow"
现在,scenario1 的行为符合预期。我遇到了场景 2 中解释的情况,我需要连接一个包含反斜杠和等于的字符串。即,string1 仅包含文本,string2 包含带有 \= 的文本,并且我的结果应该是 string1 和 string2 连接的。但是,在方案 2 中仅使用 \= 会导致错误要求我转义序列。现在,在场景 3 中转义给了我两个反斜杠和等号。我不想要两个反斜杠。
我的输出应该正好是stack \=overflow。我在这里缺少一些转义序列或方法吗?
谢谢!
【问题讨论】:
标签: escaping prolog swi-prolog string-concatenation