我尝试使用lookbehind执行正则表达式,将\n
更改为,但不,如果它是
\\n
。< / p>
我最接近的尝试没有效果:
text.gsub /(?<!\\)\n/, ''
不幸的是,lookbehind中没有多少反斜杠似乎可以解决这个问题。我该如何解决这个问题?
答案 0 :(得分:1)
你需要在正则表达式中n
之前加倍反斜杠,否则它会寻找换行符而不是字面反斜杠后跟n:
irb(main):001:0> puts "hello\\nthere\\\\n".gsub(/(?<!\\)\\n/, ' ')
hello there\\n
答案 1 :(得分:1)
你不需要任何特别的东西。 "\n"
是一个字符。它不包含"\"
或"n"
字符。
text.gsub(/\n/, "")
但不是那样,你应该这样做:
text.gsub("\n", "")
或
text.tr("\n", "")
但我会这样做:
text.tr($/, "")