我想从以下位置删除回车:
"LIC_001 \r\n ,\r\n LIC_002 \r\n "
我希望价值如下:
"LIC_001 , LIC_002 "
我试过了:
"LIC_001 \r\n ,\r\n LIC_002 \r\n ".gsub!("\r\n", " - ")
请建议我如何做到这一点。
答案 0 :(得分:3)
这应该可以解决问题:
"LIC_001 \r\n ,\r\n LIC_002 \r\n ".squish
#=> "LIC_001 , LIC_002"
答案 1 :(得分:1)
str = "LIC_001 \r\n ,\r\n LIC_002 \r\n "
str.split(',').map(&:squish)
# => ["LIC_001", "LIC_002"]
str.split(',').map(&:squish).join(" , ")
# => "LIC_001 , LIC_002"
答案 2 :(得分:1)
您可以使用gsub
的空格替换多个空格,并使用strip!
删除尾随和前导空格:
"LIC_001 \r\n ,\r\n LIC_002 \r\n ".gsub(/\s+/,' ').strip!
# "LIC_001 , LIC_002"
这两种方法都是标准的Ruby。
如果您的字符串包含unicode空格,则可以使用
"LIC_001 \r\n ,\r\n LIC_002 \r\n ".gsub(/[[:space:]]+/,' ').strip!
# "LIC_001 , LIC_002"
答案 3 :(得分:0)
您可以使用split / join和正则表达式:
str = "LIC_001 \r\n ,\r\n LIC_002 \r\n "
puts str.split(/[\n\r, ]+/).join(" , ")
答案 4 :(得分:0)
您是否尝试过以下操作?
"LIC_001 \r\n ,\r\n LIC_002 \r\n ".gsub!("\r\n", "")
如果是这样,请解释为什么它没有给你想要的结果......