使用gsub替换/剥离空行

时间:2015-01-20 23:08:44

标签: ruby replace gsub

我有一个HTML页面:

    <strong>

    Product Name:




</strong>

我想删除空行(^\n^$)。预期的HTML是:

    <strong>
    Product Name:
</strong>

这是我的语法:

r.gsub!(/^\\n/, '')

它似乎不起作用。我尝试了很多组合,我无法做任何事情。 puts r.class => stringr始终包含空格。我实际上尝试了更多的减少:

r.gsub!(/\\n\s+?/, '').gsub!(/\\t\s+?/, '').gsub!(/^\\n/, '')

2 个答案:

答案 0 :(得分:2)

问题似乎是当你不应该逃避反斜杠时。例如。 /\\n/将匹配字符串\n,而不是换行符。 /\n/将匹配换行符。同样适用于\t

如果您想使用Ruby正则表达式,我建议您查看Rubular

另外,请注意gsub!,尤其要将它们链接起来。如果没有替换任何内容,gsub!将返回nil,并且您将在后续调用中获得未定义的nil错误方法。

让你好多了
r = r.gsub(...).gsub(...) ...

答案 1 :(得分:1)

我得到了它的工作。

r = r.gsub(/\t\s+?/, "")
r = r.gsub(/^\s*$/, "")

"\n"可以\s*封装$\n并不代表{{1}}。