Unicode 如何删除emacs中的非ascii字符
我对elisp编程非常陌生,我正在尝试编写一个Emacs elisp函数来删除高亮显示区域中的所有非ASCII字符。我在这里找到了如何查找非ASCII字符的示例elisp函数:。我试图自己修改它,但无法使它工作。有人能告诉我如何修改以下elisp函数来删除GNU Emacs中突出显示区域中的所有非ASCII字符吗Unicode 如何删除emacs中的非ascii字符,unicode,emacs,character,Unicode,Emacs,Character,我对elisp编程非常陌生,我正在尝试编写一个Emacs elisp函数来删除高亮显示区域中的所有非ASCII字符。我在这里找到了如何查找非ASCII字符的示例elisp函数:。我试图自己修改它,但无法使它工作。有人能告诉我如何修改以下elisp函数来删除GNU Emacs中突出显示区域中的所有非ASCII字符吗 (defun find-first-non-ascii-char () "Find the first non-ascii character from point onwards
(defun find-first-non-ascii-char ()
"Find the first non-ascii character from point onwards."
(interactive)
(let (point)
(save-excursion
(setq point
(catch 'non-ascii
(while (not (eobp))
(or (eq (char-charset (following-char))
'ascii)
(throw 'non-ascii (point)))
(forward-char 1)))))
(if point
(goto-char point)
(message "No non-ascii characters."))))
我想我通过修改这篇文章的答案找到了答案: 以下是我的想法:
(defun del-binary_characters (beg end)
"Delete binary characters in a region"
(interactive "r")
(save-excursion
(save-restriction
(narrow-to-region beg end)
(goto-char (point-min))
(while (re-search-forward "[^[:ascii:]]" nil t)
(replace-match "")))))
这并不是您所要求的,但要以交互方式查找非ASCII字符,您可以执行以下操作:
M-x search-forward-regexp
[^[:ascii:]]