我想修剪一个字符串的前导和尾随引号,没有任何替换..我已经尝试过gsub ..但没有任何帮助..我想实现像。," hai"到海。
在Java中,我将使用如下。,
String a="\"hai";
String z=a.replace("\"", "");
System.out.println(z);
输出:
海
如何在rails中实现这一目标?请帮助..
在我的irb中
2.2.3 :008 > str = "\"hai"
=> "\"hai"
2.2.3 :009 > str.tr!('\"', '')
=> "hai"
为什么没有双引号我无法获得输出?对不起,如果我的问题不符合您的标准..
答案 0 :(得分:0)
你可以改用正则表达式,试试这个
str = "\"hai"
str = str.gsub(/\"/, '')
希望有所帮助!
答案 1 :(得分:0)
这仅从字符串中删除前导和尾随双引号。你得到一个新字符串并保留旧字符串。
str = "\"ha\"i\""
# => "\"ha\"i\""
new_str = str.gsub(/^"+|"+$/, '')
# => "ha\"i"
str
# => "\"ha\"i\""
或者您更改原始字符串。
str.gsub!(/^"+|"+$/, '')
# => "ha\"i"
str
# => "ha\"i"
这是一个红宝石的惯例。带有感叹号/点的方法名称会修改对象本身。
答案 2 :(得分:0)
您也可以使用.tr
方法。
str = "\"hai"
str = str.tr('\"', '')
##OR
str.tr!('\"', '')
## OUTPUT
"hai"
答案 3 :(得分:0)
这应该有效:
str = "\"hai"
str.tr('"', '')
请注意,您只能在使用双引号(\"
)定义的字符串中转义("\""
)双引号,否则,您不会('"'
)。