📅  最后修改于: 2023-12-03 15:11:19.231000             🧑  作者: Mango
本文介绍如何在 Ruby 中用短划线替换字符串中第一个和最后一个之间的连续数字。
def replace_numbers(str)
str.gsub(/\d+/) { |match| match.size > 1 ? '-' * (match.size - 1) : match }
end
通过使用 gsub
方法,我们可以将字符串中的所有匹配元素替换为我们希望的结果。
在这个例子中,使用正则表达式 \d+
匹配字符串中的所有连续数字。使用块,我们可以针对每个匹配的元素执行自定义的操作。
如果匹配的数字长度大于 1,我们将使用 -
代替第一个数字和最后一个数字之间的所有数字。否则,我们不改变这个数字。
replace_numbers("foo123bar456baz") #=> "foo123-bar456-baz"
replace_numbers("abc28xyz") #=> "abc28xyz"
本教程介绍了如何在 Ruby 中使用正则表达式和 gsub
方法来用短划线替换字符串中第一个和最后一个数字之间的连续数字。