String#delete
将a-z
解释为字符范围。不过,我想删除fa-zo
。String#删除忽略特殊字符
"fojwfa-zowj".delete("fa-zo") #=> "-"
期望的结果:
"fojwwj"
String#delete
将a-z
解释为字符范围。不过,我想删除fa-zo
。String#删除忽略特殊字符
"fojwfa-zowj".delete("fa-zo") #=> "-"
期望的结果:
"fojwwj"
"fojwfa-zowj".gsub("fa-zo","") # => "fojwwj"
你也可以使用这个小窍门:
string = "fojwfa-zowj"
string[/fa-zo/] = ''
string
# => "fojwwj"
注意然而,这个修改字符串中的地方像#gsub!
,这应该速度更快,应该使用更少的内存,但如果考虑不好,可能会引入副作用。
这是我想知道的其他技巧之一。 –
"fojwfa-zowj".tap{ |s| s.slice! "fa-zo" } # just for the Heaven of it
混乱首先,但很酷:) –
对于'gsub'仇敌,你有其他选择吗? –
是的,但很复杂,也许有一些正则表达式用'#[]'可以做到这一点。删除问题不仅是为了避免连字符。 – halfelf