如何从字符串中删除除"g"
之外的所有字符,数字和符号,并将其替换为" "
?
string = "bi2gger 1is 00ggooder"
答案 0 :(得分:5)
gsub
在这里太过分了。使用String#tr
:
string = "bi2gger 1is 00ggooder"
string.tr("^g", " ")
# => " gg gg "
这将返回一个新字符串。要改为修改原始字符串,请使用tr!
。
在repl.it上查看:https://repl.it/KJPY
答案 1 :(得分:2)
您可以[^g]
使用g
替换" "
以外的所有字符,并使用string.gsub(/[^g]/," ") #=> " gg gg "
:
Dynamic
答案 2 :(得分:1)
可以使用正则表达式
来实现正如评论所述,这个问题可归结为正则表达式。
为了替换字符串中的每个'g'字符,您可以使用正则表达式:/[^g]/
因此,最简单的解决方案是使用String#gsub
和正则表达式来更改与该规则匹配的所有字符。 (请注意,您还有此方法的爆炸版本String#gsub!
将替换原始字符串)
您可以在网站上阅读/试用正则表达式:RegexPal
答案 3 :(得分:0)
String#gsub可以在这里使用。
e.g.
{% if user.group.name == "somename" %}