字符串示例:
"6 red cables, 4 white cables, 9 blue cables"
我想删除"电缆"所以它读取
"6 red, 4 white, 9 blue"
我查看了slice
和sub
方法,但他们只删除了#34; cable"的第一个实例。有人能指出我正确的方向吗?
答案 0 :(得分:7)
您可以使用String#gsub
:
2.2.0 :003 > "6 red cables, 4 white cables, 9 blue cables".gsub(" cables", "")
=> "6 red, 4 white, 9 blue"
答案 1 :(得分:-1)
参考(比较sub vs gsub): http://www.dotnetperls.com/sub-ruby
回答
cleand_value = "6 red cables, 4 white cables, 9 blue cables".gsub("cables", '')
Output "6 red , 4 white , 9 blue "
<强>解释强>
value = "abc abc"
# Gsub replaces all instances.
value = value.gsub("abc", "---")
puts value
Output
--- ---
然后你可以用相同的方式删除逗号之后的所有空格。
cleaner_value = cleaned_value.gsub(", ", ",") #replaces all instances
output "6 red, 4 white, 9 blue"
或使用其他解决方案并执行
cleand_value = "6 red cables, 4 white cables, 9 blue cables".gsub(" cables", '') #notice the space before cables. May cause problems unless you know exactly the input