我试图做一个正面向后看的变化\n
到但不是如果它是
\\n
。红宝石 - 替代 n如果不是\
我最亲密的尝试没有效果:
text.gsub /(?<!\\)\n/, ''
不幸的是,没有号码的回顾后反斜杠似乎来解决这个问题。我该如何解决这个问题?
我试图做一个正面向后看的变化\n
到但不是如果它是
\\n
。红宝石 - 替代 n如果不是\
我最亲密的尝试没有效果:
text.gsub /(?<!\\)\n/, ''
不幸的是,没有号码的回顾后反斜杠似乎来解决这个问题。我该如何解决这个问题?
你需要在正则表达式的n
之前反斜杠加倍,否则就找换行,而不是一个反斜杠后跟n:
irb(main):001:0> puts "hello\\nthere\\\\n".gsub(/(?<!\\)\\n/, ' ')
hello there\\n
你并不需要什么特别的。 "\n"
是一个单个字符。它不包括"\"
或"n"
字符。的
text.gsub(/\n/, "")
而是说,你应该做的:
text.gsub("\n", "")
或
text.tr("\n", "")
但我会做:
text.tr($/, "")
马克里德是第一个,但非常感谢你! +1 – sscirrus
你尝试'/(<? !\\)\\ n /'? (在'n'之前转义'\') – falsetru
就是这样 - 谢谢! – sscirrus