ruby从字符串中删除反斜杠

时间:2013-09-24 18:41:23

标签: ruby

我如何将它设为没有斜线的常规字符串?

我有:

 "3e265629c7ff56a3a88505062dd526bd\""

我想:

"3e265629c7ff56a3a88505062dd526bd"

6 个答案:

答案 0 :(得分:9)

你有什么:

"3e265629c7ff56a3a88505062dd526bd\""

相当于:

'3e265629c7ff56a3a88505062dd526bd"'

所以要删除它:

string.tr!('"', '')

请记住,所有特殊字符都以反斜杠为前缀。这不仅包括换行符\n或换行符\r,还包括引号"或反斜杠本身\\

答案 1 :(得分:5)

这是怎么回事?

s = "3e265629c7ff56a3a88505062dd526bd\""
s[/\w+/]
# => "3e265629c7ff56a3a88505062dd526bd"

答案 2 :(得分:3)

如果你想删除除字母和数字之外的所有内容,你可以使用'tr'功能。

例如:

"3e265629c7ff56a3a88505062dd526bd\"".tr('^A-Za-z0-9','')

此函数使用不带字符的字符串替换除字母和数字之外的所有内容。 Here是该函数的参考。

希望它适合你。

答案 3 :(得分:2)

另一种方式"3e265629c­7ff56a3a88­505062dd52­6bd\"".del­ete ?"

答案 4 :(得分:1)

str = "3e265629c7ff56a3a88505062dd526bd\""
str.gsub(%r{\"}, '')
 => "3e265629c7ff56a3a88505062dd526bd"

答案 5 :(得分:1)

Ruby的String#[]是你的朋友。从:

开始
foo = "3e...bd\""

这些是获取值而不使用尾随嵌入引号的替代方法:

# delete it
foo[-1] = ''
foo['"'] = ''
foo[/"$/] = ''

或者:

# skip it
foo[0..-2]