有无快速删除区域中的所有空格的简单方法?

OCR中文得到的文本每个字之间都有空格,如“张 三 李 四”这种,有没有什么快速删除所有区域内空格的办法?网上搜索现成的命令一般都是删除多余的空格,而不是删除所有空格。

直接搜索替换好了,选中需要替换的文字,然后 C-s,输入空格,然后 M-%, C-j, !

我用的spacemacs的配置,选择需要替换的区域,然后输入:

s/ //g

即可全部删除空格。

我本来也打算直接搜索替换,但是我用swiper,似乎无法直接搜索空格

M-x replace-string?

我用的是M-x replace-regex差别不大

swiper里,一个空格用来分割关键字,连续两个空格表示一个空格。

1 个赞

describe-function replace-string

你可以看一下replace-string的函数说明,当region存在时,它仅会替换区域内的字符

选中区域,使用replace-string,将空格替换掉

1 个赞

碰到类似的问题,Chatgpt 给出的结果,只删除中文字符之间的空格:

 (defun remove-multiple-spaces-between-chinese ()
  "Remove one or more spaces between Chinese characters."
  (interactive)
  (save-excursion
    (goto-char (point-min))
    (while (re-search-forward "\\([[:multibyte:]]\\) +\\([[:multibyte:]]\\)" nil t)
      (replace-match "\\1\\2"))))
1 个赞