我如何将它设为没有斜线的常规字符串?
我有:
"3e265629c7ff56a3a88505062dd526bd\""
我想:
"3e265629c7ff56a3a88505062dd526bd"
答案 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)
另一种方式"3e265629c7ff56a3a88505062dd526bd\"".delete ?"
答案 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]