ruby - 如何使用 ruby​​ regexp 将字符串替换为类似 "callback function"的操作

标签 ruby regex callback

我有示例行,我想用 = 替换前导的 #。 (前两行) 但是在 string.gsub!(/^#+\w/, "") 中,我无法获取要替换的 # 的数量。

在 javascript 中,我可以将回调函数与 replace 方法一起使用,但是我该如何归档这个 Ruby?

##Command-line Tool
###Installment
This is a '#'.

预期结果:

==Command-line Tool
===Installment
This is a '#'.

最佳答案

可能是 gsub 方法的回调 block 函数。我不确定你在想什么,但可能是这样的

s.gsub(/^(#+)\w+/) {|m| m.gsub("#", "=") }

关于ruby - 如何使用 ruby​​ regexp 将字符串替换为类似 "callback function"的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473526/

相关文章:

ruby - 如何从 ruby​​ sinatra 中的 json 获取每个值?

Ruby - 不能用 fixnum 值划分

ruby-on-rails - Rails 节省了一半的帖子条目

ruby-on-rails - Ruby on Rails 教程练习 3.5

ios - render回调函数和input回调函数有什么区别

javascript - RegExp.test 返回 false,即使它应该是 true

python - 用于从两端删除非 ASCII 字符的正则表达式

python - 使用正则表达式匹配每行中出现的第一个模式

javascript - 如何在 Node.js 中使用异步函数?

android - Retrofit 2.0 转换器返回 NULL