首页 > 解决方案 > 骆驼化到字符串的某个部分

问题描述

我有:

s = "like_so__case"

camelize给出了这个:

s.camelize # => "LikeSoCase"

我正在寻找转换为双下划线__以获得:

"LikeSo__case"

我怎样才能骆驼化到字符串的某个部分?

标签: ruby-on-railsrubystring

解决方案


最简单的选择是 gsub 字符串的一部分。

'like_so__case'.gsub(/(.*?)(__.*)/) { "#{$1.camelize}#{$2}" }
#=> "LikeSo__case"

更新

评论产生的更干净,更快捷的方式。

'like_so__case__h'.sub(/(.*?)(?=__)/, &:camelize)
#=> "LikeSo__case__h"

推荐阅读