Lua string.gsub(s, pattern, func) 对应 Python 该怎么写啊?

2016-03-19 21:45:35 +08:00
 xpol

Lua 的 string.gsub() 可以进行 regex 替换, 还可以跟一个回调函数,来处理如何将匹配的字符串转换成要替换的字符串:

    x = string.gsub("home = $HOME, user = $USER", "%$(%w+)", os.getenv)
    --> x="home = /home/roberto, user = roberto"

Python 有没有类似的方法啊。

具体的说就是我要替换很多文件中的部分文本,匹配要匹配的文本方法就是固定的 regex ,而且同一个文件中可能有多处要替换。但是 regex 捕捉到文本后,要替换成什么文本是要用函数处理的。

先谢谢大家了!

3547 次点击
所在节点    Python
4 条回复
skydiver
2016-03-19 21:55:02 +08:00
http://lmgtfy.com/?q=python+regex+callback

Google 一下前几条都是
xpol
2016-03-19 22:00:32 +08:00
谢谢,我也找到 re.sub 了。不习惯 python 不能定义多行的 lambda 。
datou552211
2016-03-20 22:37:37 +08:00
@xpol 应该是没有大括号作用域的缘故啊
xpol
2016-03-21 08:44:13 +08:00
@datou552211 所以定义了一个辅助函数。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/264807

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX