我使用chomp从字符串中删除多个\n
,但它只从字符串中删除一个\n
。如何从字符串中删除多个\n
字符?
我的字符串如下所示: -
"Ttyyuhhhjhhhh\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
答案 0 :(得分:9)
答案 1 :(得分:8)
当您需要从字符串末尾删除时,请使用rstrip
str = "Ttyyuhhhjhhhh\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
str.rstrip()
答案 2 :(得分:0)
如果您真的只想删除换行符,而不要删除其他空格,则strip
和rstrip
(删除所有空格)不是答案。正则表达式/\n+\Z/
将在字符串末尾匹配任意数量的换行符:
str1 = "text \t\n\n\n"
# => "text \t\n\n\n"
str1.sub(/\n+\Z/, '')
# => "text \t"
请注意,这对多行字符串也有效(并且不使用多行正则表达式修饰符/m
),而在字符串中间保留换行符:
str2 = str1 + str1 + str1
# => "text \t\n\n\ntext \t\n\n\ntext \t\n\n\n"
str2.sub(/\n+\Z/, '')
# => "text \t\n\n\ntext \t\n\n\ntext \t"
答案 3 :(得分:-2)
"Ttyyuhhhjhhhh\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n".gsub(/\n$/,'')