2017-06-30 52 views
0

我想从单引号中的字符串中删除\n,该引号本身位于双引号内。如何在引号内删除 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]* 
+0

你可能需要使用两个反斜杠转义反斜线,因为它是序列的一部分,你正在尝试匹配。例如:“。*'(。* \\ n)+'。*” – Secespitus

+2

它是什么语言/环境? – revo

+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我的电脑上