我有一个字符串: “(128(31)(J(C(\(C \)D 0 0 NIL NIL)))($ 54))”“(64(30)($ 40))”
反斜杠是字符串的一部分,它们打印和一切
如何使用带有debian 8 linux的ruby 2.1.5删除反斜杠?
答案 0 :(得分:0)
当然,你可以自己想出来,但不过:
str = '"(128 (31) (J (C (\(C\) D 0 0 NIL NIL))) ($ 54))" "(64 (30) ($ 40))"'
puts str.delete("\\")
# => "(128 (31) (J (C ((C) D 0 0 NIL NIL))) ($ 54))" "(64 (30) ($ 40))"
答案 1 :(得分:0)
反斜杠很棘手。
即使是单引号字符串,也必须对它们进行转义。所以\\
是一个反斜杠,应该始终以这种方式编写。 Ruby只是对你的格式错误的字符串感到宽容。
尝试其中任何一种
str.delete("\\")
str.delete('\\')
答案 2 :(得分:0)
str = "(128 (31) (J (C (\(C\) D 0 0 NIL NIL))) ($ 54))" "(64 (30) ($ 40))"
1)方法:tr
puts str.tr("\\", "")
# => "(128 (31) (J (C ((C) D 0 0 NIL NIL))) ($ 54))(64 (30) ($ 40))"
2)方法:删除
puts str.delete("\\")
# => "(128 (31) (J (C ((C) D 0 0 NIL NIL))) ($ 54))(64 (30) ($ 40))"
3)方法:gsub
puts str.gsub("\\", "")
# => "(128 (31) (J (C ((C) D 0 0 NIL NIL))) ($ 54))(64 (30) ($ 40))"