如何删除引号内的\ n

时间:2017-06-30 10:48:38

标签: ruby regex

我想从单引号中的字符串中删除\n,该引号本身在双引号内。

例如:

"\n 'Pitch avec Laura Cobo \n 
 importantes très régulièrement mais à présent \n\n\n' \n"

删除\n后,该行应该是这样的。

"\n 'Pitch avec Laura Cobo importantes très régulièrement mais à présent' \n"

我试过的命令

=> (.*?(?:"[^"]*"*.*?)*)\r?\n
=> ([^"]*)\n([^"]*)
=> (["])(\\?)[\s\S]*?\1 | [e]*

1 个答案:

答案 0 :(得分:1)

我知道这不优雅,但我仍然是Ruby的初学者。

 input_string = "\n 'Pitch avec Laura Cobo \n  
 importantes très régulièrement mais à présent \n\n\n' \n"  

symbol = "'"  

temp_string = input_string[/#{symbol}(.*?)#{symbol}/m, 1]  

first_apo = input_string.index("'")  
last_apo = input_string.rindex("'")  

size = input_string.size  

modified_string = temp_string.gsub(/(\n)/, "")  

result = input_string[0..first_apo] + modified_string + input_string[last_apo..size]  

puts result  

如果这对您有用,请告诉我,它可以在我的计算机上使用Ruby 2.2.5p319