所以我发现自己需要从我正在处理的项目中的字符串的开头和结尾删除 <br /> 标签。我做了一个快速的小方法来做我需要做的事情,但我不相信这是做这种事情的最好方法。我怀疑可能有一个方便的正则表达式我可以只用几行来完成它。这是我得到的:

def remove_breaks(text)
    if text != nil and text != ""
        text.strip!

        index = text.rindex("<br />")

        while index != nil and index == text.length - 6
            text = text[0, text.length - 6]

            text.strip!

            index = text.rindex("<br />")
        end

        text.strip!

        index = text.index("<br />")

        while index != nil and index == 0
            text = test[6, text.length]

            text.strip!

            index = text.index("<br />")
        end
    end

    return text
end

现在 "<br />" 真的可以是任何东西,制作一个通用函数可能更有用,该函数将需要从开头和结尾删除的字符串作为参数。

我愿意接受关于如何使这个更清洁的任何建议,因为这似乎可以改进。

最佳答案

gsub 可以采用正则表达式:

text.gsub!(/(<br \/>\s*)*$/, '')
text.gsub!(/^(\s*<br \/>)*/, '')
text.strip!

关于ruby-on-rails - 从 ruby​​ 字符串的开头和结尾删除模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2743578/

10-10 07:57