要抓取的正则表达式语法是什么?#34;行末尾的等号(=$
),加"换行符"紧接着它"?
我的格式很糟糕(真的破了)这样的文字:
Tiens, encore du HTML, batard rouge, et un charact=C3=A8re accentu=C3=A9, P=
=C3=80F
(每一行都以=结尾)所以我想抓住的就是字面意思
"=
"
我使用下面粘贴的功能处理它。
但我也希望加入这些行,即删除换行符,但我无法M-x regexp-builder
突出显示最后一行" ="签署 和 之后的换行符,以便我可以用空字符串替换它""加入这些行......?
(setq entities
'(("=C3=A9" "é")
("=C3=89" "É")
("=C3=A8" "è")
("=C3=88" "È")
("=C3=A7" "ç")
("=C3=87" "Ç")
("=C3=A0" "à")
("=C3=80" "À")
("=C3=B9" "ù")
("=C3=99" "Ù")
("=C3=AA" "ê")
("=C3=8A" "Ê")
("=C3=BB" "û")
("=C3=9B" "Û")
("=C3=AB" "ë")
("=C3=8B" "Ë")
("=C3=BC" "ü")
("=C3=9C" "Ü")
("=20" "")
("=3D\"" "=\"")
("=$" "")))
(defun px-decode-string (string entities)
"decode a string against a list of entities / chars pairs."
(setq i 0)
(while (< i (length entities))
(setq my-operand (format "%s" (car (car (nthcdr i entities)))))
(setq my-char (format "%s" (car (cdr (car (nthcdr i entities))))))
(setq string (replace-regexp-in-string my-operand my-char string 't))
(setq i (1+ i))
)
(format "%s" string))
(alist是setq
而不是defvar
仅用于测试目的)
测试:
(px-decode-string "Tiens, encore du HTML, batard rouge, et un charact=C3=A8re accentu=C3=A9, P=
=C3=80F!
" entities)
答案 0 :(得分:3)
在字符串文字中,您可以使用“\ n”而不是“$”来匹配换行符。
互动,例如query-replace-regexp
,使用 C-q C-j 。
答案 1 :(得分:0)
好的,没关系,我找到了它:=\n