string = "\\20141014 - Philippe Morion [SPN]\\FRA-LYO-RICL-026\\FRA-LYO-RICL-026.L01\\FRA-LYO-RICL-026\\C\\Philippe 21 Mai 2014\\Classement\\SOC Department\\AOC\\2014"
Firstmod = string.sub /.*C\\/i, 'f|C:\\'
puts "#{Firstmod}"
# f|C:\2014我想要的是
f|C:\\Philippe 21 Mai 2014\\Classement\\SOC Department\\AOC\\2014"发布于 2015-09-10 18:34:19
您实际上可以利用上下文:您想要查找的C\的前面实际上有另一个\。您可以将其添加到类似于/.*\\C\\/的模式中
string = "\\20141014 - Philippe Morion [SPN]\\FRA-LYO-RICL-026\\FRA-LYO-RICL-026.L01\\FRA-LYO-RICL-026\\C\\Philippe 21 Mai 2014\\Classement\\SOC Department\\AOC\\2014"
Firstmod = string.sub /.*\\C\\/i, 'f|C:\\'
puts "#{Firstmod}"参见IDEONE demo。
或者使用@CasimirEtHippolyte的建议来使用惰性匹配:/.*?C\\/i。
https://stackoverflow.com/questions/32498875
复制相似问题