所以我有一个红宝石字符串,类似于
str = "<html>\n<head>\n\n <title>My Page</title>\n\n\n</head>\n\n<body>" +
" <h1>My Page</h1>\n\n<div id=\"pageContent\">\n <p>Here is a para" +
"graph. It can contain spaces that should not be removed.\n\nBut\n" +
"line breaks that should be removed.</p></body></html>"
如何删除标签外部/不在具有类似内容的标签内部的所有空白(空格、制表符和换行符)<p>
仅使用本机 Ruby?
(我想避免使用 XSLT 或其他东西来完成如此简单的任务。)
str.gsub!(/\n\t/, " ").gsub!(/>\s*</, "><")
那第一gsub!
用空格替换所有换行符和制表符,第二个删除标签之间的空格。
您的标签内最终会出现多个空格,但如果您删除了所有空格\n
and \t
,你会得到类似“不被删除。但行中断”的信息,这不是很可读。另一个正则表达式或前面提到的.squeeze(" ")
可以解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)