删除前导和尾随换行符

时间:2013-02-25 07:43:37

标签: html ruby string

我正在保存文本以及html标签。例如,如果我输入'What is your name?',则会将'<p>What is your name?</p>'存储在表格中。

如果对报告采用相同的值,则在字符串的开头和结尾处有一个额外的换行符。我使用代码@question.description输出@question.description.html_safe的值。

请告诉我一个解决方案,从该段落字符串的开头和结尾剪掉"\n"

3 个答案:

答案 0 :(得分:6)

String#strip返回str的副本,其中删除了前导和尾随空格。

"\n what\r\n".strip
#=> "what"

如果要更改变量,则需要执行以下操作之一

s = "\nyour string\n"
s.strip!    # first option
s = s.strip # second option

答案 1 :(得分:1)

删除所有html标记 使用strip_tags方法

strip_tags('<p>What is your name?</p>')

仅删除开始和结束<p></p>代码

s = ' <p>What is <p> your</p> name?</p> '
s = s.strip.sub('<p>','').chomp('</p>')
#=> "What is <p> your</p> name?"

删除所有<p></p>代码

'<p>What is your name?</p>'.gsub(/<p>|<\/p>/,'')

答案 2 :(得分:0)

Rails有一个很好的字符串方法:squish 它也会从字符串中间删除新的行字符。