我尝试替换从Excel文件中获取的文件路径中的后退:
path = "X:\Clients\BUT_Monétique Commerçant\2Gestion\4_Suivi\Suivi_Projet"
如下:
path.gsub!("\\","/")
或
path.gsub!("\\","\\\\")
没有人工作。知道如何解决这个问题。如您所见,URL包含一些重音字母。
答案 0 :(得分:0)
您实际上是否使用以下内容来定义path
?
path = "X:\Clients\BUT_Monétique Commerçant\2Gestion\4_Suivi\Suivi_Projet"
这不起作用,至少在Ruby 1.8.7中。您需要使用单引号,或者使用反斜杠加倍来转义它们。
但是,一旦你这样做,以下内容对我有用:
irb(main):001:0> path = 'X:\Clients\BUT_Monétique Commerçant\2Gestion\4_Suivi\Suivi_Projet'
=> "X:\\Clients\\BUT_Mon\303\251tique Commer\303\247ant\\2Gestion\\4_Suivi\\Suivi_Projet"
irb(main):002:0> path.gsub!("\\","/")
=> "X:/Clients/BUT_Mon\303\251tique Commer\303\247ant/2Gestion/4_Suivi/Suivi_Projet"
如果这不适合你,你可以粘贴你正在运行的实际代码,以及你得到的结果吗?
答案 1 :(得分:0)
这对我有用:
path = 'X:\Clients\BUT_Monétique Commerçant\2Gestion\4_Suivi\Suivi_Projet'
path.gsub!("\\","/")
p path
#=> "X:/Clients/BUT_Monétique Commerçant/2Gestion/4_Suivi/Suivi_Projet"
或者,您可以在反斜杠上split
,让Ruby的File
类确定适合于文件系统的分隔符:
path = 'X:\Clients\BUT_Monétique Commerçant\2Gestion\4_Suivi\Suivi_Projet'
old_path = path.split("\\")
new_path = File.join(old_path)
p new_path
#=> "X:/Clients/BUT_Monétique Commerçant/2Gestion/4_Suivi/Suivi_Projet"