是否有函数像下面的str
一样在字符串的两侧放置括号?
str = ' ( '.concat(str.concat(' ) '))
答案 0 :(得分:4)
我更喜欢字符串插值,这只是用于替代解决方案 String#insert
> "Gagan Gami".insert(0, '(').insert(-1, ')')
#=> "(Gagan Gami)"
# OR
> "()".insert(1, "Gagan Gami")
#=> "(Gagan Gami)"
用于将字符串放在括号中的Ruby函数
> parentheses = "()"
> str = "Gagan Gami"
> parentheses.insert(1, str)
#=> "(Gagan Gami)"
答案 1 :(得分:3)
我将使用字符串插值:
str = " ( #{str} ) "
其他一些选项可能是:
str = ' ( ' + str + ' ) '
str = [' ( ', str, ' ) '].join
答案 2 :(得分:0)
如果这是您经常需要的东西,您还可以猴子修补字符串类,并且更喜欢使用字符串插值。
class String
def in_parens
"( #{self} )"
end
end
puts 'foo'.in_perens
#=> ( foo )
puts ''.in_perens
#=> ( )
require 'date'
puts Date.today.to_s.in_parens
#=> ( 2018-10-09 )
date = Date.today.to_s.in_parens
puts date.in_parens
#=> ( ( 2018-10-09 ) )
你知道吗