我需要运行一个脚本来重写html文件的文件夹路径,会有很多匹配,需要计算替换字符串,比如
"Html string".gsub( /images/([a-zA-Z0-9\-]+)/, "/images/#{replacement_method($1)}/" )
唯一的问题是gsub,至少据我所知,只运行一次replacement_method(),我需要它每次运行,因为文件夹字符串发生了所需的替换字符串更改。
有没有办法让这个工作与gsub?喜欢wordpress中的替换功能? 还有其他任何现实的方法吗?
答案 0 :(得分:11)
你必须使用一个块:
"Html string".gsub( /images/(folder)/) { |match| "/images/#{replacement_method(match)}/" }
将为字符串中的每个匹配调用该块。