我想要做的是找到由下划线分隔的任何字母字符序列,例如:
L_L_L
然后把它们变成像:
这样的标签<acronym>L L L</acronym>
首字母缩略词可以是任何长度,所以我在努力寻找所有实例。
答案 0 :(得分:2)
假设您的样本首字母缩写代表“由下划线分隔的任何英文大写字母序列”,您可以执行以下操作:
def replace_acronyms(str)
str.gsub(/\b([A-Z]+(?:_[A-Z]+)+)\b/) do |m,g1|
'<acronym>' + $1.gsub(/_/,' ') + '</acronym>'
end
end
replace_acronyms('Foo L_L_L bar.') # => "Foo <acronym>L L L</acronym> bar."