在文件中将“right”替换为“left”,将“left”替换为“right”

时间:2014-10-13 15:44:51

标签: ruby regex replace

我有一个名为bootstrap.css.scss的文件。我想为它添加从右到左的支持。为此,我需要将所有出现的字符串'right'替换为'left',并将所有出现的字符串'left'替换为该文件中的'right'。我怎么能用红宝石做到这一点?

1 个答案:

答案 0 :(得分:4)

您可以动态构建替换文字:

result = subject.gsub(/right|left/) {|match|
    match == "left" ? "right" : "left"
}

匹配rightleft。然后,如果匹配结果为left,则替换文本设置为right,否则设置为right。正确?

您可能希望/\b(?:right|left)\b/使用pull-right代替righteous,如果您只想匹配{{1}}中的整个字词,而不是{{1}}。