Kev*_*ert 2 ruby replace backslash
我似乎无法用Ruby中的单个反斜杠替换双反斜杠.我想我会用另一个反斜杠逃避反斜杠.
1.9.3-p194 :001 > line = "this\\is\\a\\test"
=> "this\\is\\a\\test"
1.9.3-p194 :002 > line.gsub("\\\\", "\\") # Nothing
=> "this\\is\\a\\test"
Run Code Online (Sandbox Code Playgroud)
这没用,所以我决定尝试找到一个至少可以替代的比赛.
1.9.3-p194 :003 > line.gsub("\\", "_") # This works for replacing \\
=> "this_is_a_test"
1.9.3-p194 :004 > line.gsub("\\", "\\") # Nothing
=> "this\\is\\a\\test"
Run Code Online (Sandbox Code Playgroud)
我仍然无法在Ruby中找到一种简单的方法.
有了这条线......
line = "this\\is\\a\\test"
...你实际上创建了一个如下所示的字符串:
this\is\a\test
......因为每个\\都被认为是一个斜线.当然,你将无法替换双斜杠,因为你的字符串中没有.
line.gsub("\\", "_")line正是这样做:用符号替换字符串中的所有单斜杠_.
line.gsub("\\", "\\") 只是一个伪装的无操作.
| 归档时间: |
|
| 查看次数: |
3433 次 |
| 最近记录: |