gpt4 book ai didi

regex - Emacs:正则表达式替换以更改大小写

转载 作者:行者123 更新时间:2023-12-03 06:07:44 27 4
gpt4 key购买 nike

每隔一段时间我想替换所有值的实例,例如:

<BarFoo>

<barfoo>

即使用正则表达式将尖括号内的所有内容替换为其等效的小写字母。

有人有一段不错的 Lisp 代码片段可以做到这一点吗?可以安全地假设我们只处理 ASCII 值。对于任何足够通用的东西,可以采用完整的正则表达式,并且不仅仅处理尖括号示例,都可以加分。仅使用 M-x query-replace-regexp 的答案还有更多加分。

谢谢

多姆

最佳答案

尝试M-x query-replace-regexp"<\([^>]+\)>"作为搜索字符串和 "<\,(downcase \1)>"作为替代者。

这应该适用于 Emacs 22 及更高版本,请参阅此 Steve Yegge blog post有关如何在替换字符串中使用 Lisp 表达式的更多详细信息。

对于早期版本的 Emacs,您可以尝试如下操作:

(defun tags-to-lower-case ()
(interactive)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "<[^>]+>" nil t)
(replace-match (downcase (match-string 0)) t))))

关于regex - Emacs:正则表达式替换以更改大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/677021/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com