繁体   English   中英

ruby从字符串中删除反斜杠

[英]ruby remove backslash from string

我怎么能把它变成没有斜线的常规字符串?

我有:

 "3e265629c7ff56a3a88505062dd526bd\""

我想要:

"3e265629c7ff56a3a88505062dd526bd"

你有什么:

"3e265629c7ff56a3a88505062dd526bd\""

相当于:

'3e265629c7ff56a3a88505062dd526bd"'

所以要删除:

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

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

这怎么样?

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

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

例如:

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

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

希望对你有效。

只是另一种方式"3e265629c7ff56a3a88505062dd526bd\\"".delete ?"

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

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

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

这些是获取值而没有尾随嵌入引用的替代方法:

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

要么:

# skip it
foo[0..-2]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM