Emacs Lisp replace-string
已经没有了replace-char
.我想用常规ASCII引号替换"印刷"卷曲引号(此字符的Emacs代码是十六进制53979),我可以这样做:
(replace-string (make-string 1 ?\x53979) "'")
我认为这会更好replace-char
.
做这个的最好方式是什么?
为什么不用
(replace-string "\x53979" "'")
要么
(while (search-forward "\x53979" nil t) (replace-match "'" nil t))
正如replace-string文档中的建议?
这是我替换elisp中的字符的方式:
(subst-char-in-string ?' ?’ "John's")
得到:
"John’s"
请注意,此函数不接受字符作为字符串.第一个和第二个参数必须是文字字符(使用?
符号或string-to-char
).
另请注意,如果可选inplace
参数为非零,则此函数可能具有破坏性.