如何使用 re_replace 在 Prolog 中转义符号
我尝试使用 re_replace 来替换字符串中的字符。例如:
?- re_replace("_"/g, "QW", "a_b_c", Str).
Str = "aQWbQWc".
然后我尝试将 _
替换为 \_
。 文档说:
因为\是字符串中的转义字符,所以需要这样写 “\\\\”得到一个反斜杠。
所以我尝试了:
?- re_replace("_"/g, "\\\\_", "a_b_c", Str).
false.
出于某种原因,我得到了false
。怎么了?如何从 a_b_c
获取 a\_b\_c
?
SWI Prolog 版本:8.2.1。
I tried to use re_replace to replace characters in string. For example:
?- re_replace("_"/g, "QW", "a_b_c", Str).
Str = "aQWbQWc".
Then I tried to replace _
with \_
. The documentation says:
Because \ is an escape character inside strings, you need to write
"\\\\" to get a single backslash.
So I tried:
?- re_replace("_"/g, "\\\\_", "a_b_c", Str).
false.
For some reason I get false
. What's wrong? How can I get a\_b\_c
from a_b_c
?
SWI Prolog version: 8.2.1.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论