我想做类似的事情:
string.gsub(/(whatever)/,'\n\1\n')
但我不希望将“whatever”替换为文字“\nwhatever\n”,我希望 \n 实际上对应于新行。
\n 是一个新行,这取决于你如何打印它,它会给你一个新行,所以
puts "\nwhatever\n".inspect
=> "\nwhatever\n"
然而:
puts "\nwhatever\n"
=>
=> whatever
=>
除非我误解了这个问题。
如果要将其拆分为列表,请执行以下操作:
puts "\nwhatever\n".split(?\n).inspect
=> ["", "whatever"]
我认为你需要双引号:
string.gsub(/(whatever)/,"\n\\1\n")