将 snake_casing 转换为 PascalCasing 的 Ruby 正则表达式?

标签 ruby regex pascalcasing

我创建了一个使用以下函数的网络框架:

def to_class(text)
    text.capitalize
    text.gsub(/(_|-)/, '')
end

snake_casedhyphen-cased 的目录名称转换为项目的 PascalCased 类名。

问题是,该函数只删除了_-,并没有将下一个字母大写。使用 .capitalize.upcase 是否有办法将您的 snake/hyphen_/-cased 名称转换为正确的 PascalCased 类名?

最佳答案

gsub(/(?:^|[_-])([a-z])?/) { $1.upcase unless $1.nil? }

关于将 snake_casing 转换为 PascalCasing 的 Ruby 正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10677546/

相关文章:

ruby - 名称中带问号的 attr_reader

将文本格式化为 Pascal 或 Camel 大小写的算法

sql-server - 以 PascalCase 格式转换文本

ruby - 有限制的 Ruby 线程

ruby-on-rails - Rails API 版本控制,路由问题

ruby-on-rails - 方法 diff active/support ruby​​ 不工作

javascript - 如何检查url字符串javascript中是否存在url方案

php - preg_replace 去除前导斜线

Python正则表达式编译

c# - 如何将文本转换为 Pascal 大小写?