首页 > 代码库 > 字符串 驼峰 蛇形
字符串 驼峰 蛇形
驼峰 转 蛇形
CamelCase
.camelize
蛇形 转 驼峰
1. Rails的的ActiveSupport 加上下划线为以下几点:
class String def underscore self.gsub(/::/, ‘/‘). gsub(/([A-Z]+)([A-Z][a-z])/,‘\1_\2‘). gsub(/([a-z\d])([A-Z])/,‘\1_\2‘). tr("-", "_"). downcase endend
那么你可以做有趣的东西:
"CamelCase".underscore
2. 一个班轮ruby
class String # ruby mutation methods have the expectation to return self if a mutation occurred, nil otherwise. (see CodeGo.net def to_underscore! gsub!(/(.)([A-Z])/,‘\1_\2‘) downcase! end def to_underscore dup.tap { |s| s.to_underscore! } endend
所以"SomeCamelCase".to_underscore # =>"some_camel_case"
3. 下面是Rails如何做的:
def underscore(camel_cased_word) camel_cased_word.to_s.gsub(/::/, ‘/‘). gsub(/([A-Z]+)([A-Z][a-z])/,‘\1_\2‘). gsub(/([a-z\d])([A-Z])/,‘\1_\2‘). tr("-", "_"). downcase end
4. 接收器转换成蛇的情况下: 这是DataMapper的和Merb的支持库。 (
def snake_case return downcase if match(/\A[A-Z]+\z/) gsub(/([A-Z]+)([A-Z][a-z])/, ‘\1_\2‘). gsub(/([a-z])([A-Z])/, ‘\1_\2‘). downcaseend"FooBar".snake_case #=> "foo_bar""HeadlineCNNNews".snake_case #=> "headline_cnn_news""CNN".snake_case #=> "cnn"
字符串 驼峰 蛇形
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。