我有几个看起来像这样的字符串:
"((String1))"
它们都是不同的长度。如何在循环中从所有这些字符串中删除括号?
我有几个看起来像这样的字符串:
"((String1))"
它们都是不同的长度。如何在循环中从所有这些字符串中删除括号?
Answers:
String#gsub
与正则表达式一起使用:
"((String1))".gsub(/^\(+|\)+$/, '')
# => "String1"
"(((((( parentheses )))".gsub(/^\(+|\)+$/, '')
# => " parentheses "
这只会删除周围的括号。
"(((((( This (is) string )))".gsub(/^\(+|\)+$/, '')
# => " This (is) string "
穿过这片未来的那些,寻找性能,它看起来像#delete
和#tr
即将在速度相同,2-4x要快gsub
。
text = "Here is a string with / some forwa/rd slashes"
tr = Benchmark.measure { 10000.times { text.tr('/', '') } }
# tr.total => 0.01
delete = Benchmark.measure { 10000.times { text.delete('/') } }
# delete.total => 0.01
gsub = Benchmark.measure { 10000.times { text.gsub('/', '') } }
# gsub.total => 0.02 - 0.04