如何从字符串中删除后退

时间:2017-01-28 19:30:39

标签: ruby

我有一个字符串: “(128(31)(J(C(\(C \)D 0 0 NIL NIL)))($ 54))”“(64(30)($ 40))”

反斜杠是字符串的一部分,它们打印和一切

如何使用带有debian 8 linux的ruby 2.1.5删除反斜杠?

3 个答案:

答案 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))"