`
fantaxy025025
  • 浏览: 1279420 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

驼峰格式和下划线格式转换_translation between camel and snake format

 
阅读更多

 

驼峰格式和下划线格式转换_translation between camel and snake format

 

#1 驼峰转下划线格式

这个我一开始找了找现成的方法,比如这里:http://www.iteye.com/topic/1118302,但一眼看过去就非常的麻烦,难道这个操作要写好几十行代码么,我可很懒哦。

后来想到用正则直接处理。

>> $className = "HelloWorldRuby";

>> $snakeTableName = preg_replace('/(?<!\b)(?=[A-Z])/', "_", $className);

>> print_r($snakeTableName);
Hello_World_Ruby

>> $snakeTableNameLower = strtolower($snakeTableName);

>> print_r($snakeTableNameLower);
hello_world_ruby
 
1.9.3p194 :022 > className = "HelloWorldRuby"
 => "HelloWorldRuby" 
1.9.3p194 :023 > #classNameSnake = className.gsub(/(?<!\b)(?=[A-Z])/, "_"); #=> Error ruby的逆序环视支持不好
1.9.3p194 :024 >   classNameSnake = className.gsub(/(?=[A-Z])/, "_")
 => "_Hello_World_Ruby" 
1.9.3p194 :025 > classNameSnakeLower = classNameSnake.downcase[1..-1]
 => "hello_world_ruby"
 

蛇行转驼峰格式

这个其实就比较好做了,因为下划线作为分隔符号,可以方便的分出来。

但如果用正则的话,怎么做呢:

>>         $s = "hello_world_ruby";

>>         $s2 = preg_replace('/(?:^|_)([a-z])/e', "strtoupper('\\1')", $s);

>> print_r($s2)
HelloWorldRuby

 

1.9.3p194 :055 > s = "hello_world_ruby"
 => "hello_world_ruby" 
1.9.3p194 :056 > s.gsub(/(?:^|_)([a-z])/e, '\1')
 => "helloworldruby"

ruby中的替换没有/e选项,php和perl都有。

所以这里就不知道替换的时候如何对分组应用函数了(或者用ruby的话是应用block)?

谁知道的,请告知下吧!谢谢!

 

 

 

 

 

分享到:
评论
1 楼 c39274936 2012-11-29  
s = "hello_world_ruby"
s.split("_").map {|w| w.capitalize}.join

相关推荐

    Python – 将蛇形大小写字符串转换为驼峰式大小写

    在编程领域,字符串格式转换是常见的任务之一,特别是在处理数据时。本文主要关注如何使用Python将蛇形大小写(snake_case)字符串转换为驼峰式大小写(camelCase)。这两种表示方式各有其适用场景,例如,蛇形大小...

    java中驼峰与下划线的写法互转

    【Java中驼峰与下划线的转换】在Java编程中,经常需要处理不同命名规范之间的转换,尤其是在数据库与实体类交互的时候。数据库字段通常采用下划线分隔的命名方式,例如`user_name`,而Java实体类的属性则多采用驼峰...

    camel-converter:将字符串从蛇皮套转换为骆驼皮套或将骆驼皮套转换为蛇皮套

    from camel_converter import to_snake snake = to_snake ( "myString" ) 这会将myString转换为my_string 要将蛇皮转换为骆驼皮: from camel_converter import to_camel camel = to_camel ( "my_string" ) 这...

    Camel_Camel3Camel6函数_

    在MATLAB编程环境中,"Camel3Camel6函数"是指用于特定数学计算或数据分析的一系列函数。这些函数可能涉及到曲线拟合、数值优化、数据处理等应用,尤其是在处理涉及非线性问题时,比如模拟生物体的驼峰形状、物理学中...

    camel-snake-kebab, 用于字案转换的Clojure [Script] 库.zip

    camel-snake-kebab, 用于字案转换的Clojure [Script] 库 camel-snake-kebab用于字案转换的Clojure [Script] 库。示例(use 'camel-snake-kebab.core)(-&gt;camelCase 'flux-capacitor);

    PyPI 官网下载 | camel-converter-1.0.2.tar.gz

    from camel_converter import snake_to_camel, camel_to_snake converted = snake_to_camel('my_variable_name') ``` 这样的接口设计使得使用和学习都非常直观。 5. **安装与更新**: 要在Python项目中使用`...

    Laravel开发-snake2camel

    这个工具主要是为了解决在数据库字段命名通常使用snake_case(下划线分隔的命名方式),而编程时通常采用camelCase(首字母大写的驼峰命名法)导致的不匹配问题。以下是对这个开发主题的详细解释: 1. **命名规范**...

    camel_snake_kebab:用于单词大小写转换的 Python 库

    Camel_SNAKE-烤肉串 用于单词大小写转换的 Python 库。 这个库是@qerub的一个端口。 它在 PyPI 上可用,可以安装 pip install --user camel_snake_kebab 它使用 Python 2.7 和 Python 3.4 进行了测试。 例子 &gt;&gt;...

    Go语言json编码驼峰转下划线、下划线转驼峰的实现

    通过以上方法,我们可以方便地在Go语言中实现JSON编码时字段名的格式转换,无论是从大写驼峰转换为下划线分隔的小写字母还是相反方向的转换都变得简单易行。这种方法不仅可以提高代码的可读性和可维护性,还能帮助...

    snake_camel_switch:在蛇和骆驼之间切换

    本项目"snake_camel_switch"显然是一个工具或库,旨在帮助开发者在Python环境中方便地在"Snake Case"和"Camel Case"之间进行转换。 "Snake Case"是Python中常用的命名约定,其中变量、函数和类名等采用下划线分隔...

    驼峰命名转下划线命名

    "驼峰命名"和"下划线命名"是两种常见的命名规则,它们在JSON数据处理、Python编程、数据库字段定义以及前端开发等领域广泛应用。 1. **驼峰命名(Camel Case)**: - 驼峰命名是一种将多个单词合并为一个标识符的...

    批量字母驼峰转换

    在IT行业中,编程时常会遇到字符串格式转换的问题,其中一种常见的转换方式就是“驼峰命名法”(Camel Case)。批量字母驼峰转换是程序员在处理数据或编写代码时经常需要用到的一个工具,尤其是在构建变量名、函数名...

    ecg-broker_websocket_apachecamel_

    标题中的"ecg-broker_websocket_apachecamel_"似乎是指一个使用Apache Camel来处理心电图(ECG)数据的系统,它特别关注WebSocket通信。这个系统利用Apache Camel的强大功能,通过修改配置文件来适应不同的接口,如...

    camel-snake-kebab:一个用于单词大小写转换的Clojure [Script]库

    库中的`-snake-case`函数可以将其他格式转换为这种形式。 3. 短横线凯布尔式(kebab-case) 凯布尔式命名法在CSS和HTML中广泛使用,每个单词之间用短横线分隔,全部小写,例如 "kebab-case"。对应的转换函数是`-...

    camel-case-translation:一款支持驼峰命名法,下划线,中划线的chrome翻译插件

    4. **驼峰、下划线和中划线识别**:此插件的独特之处在于,它不仅能够识别标准的英文单词,还能理解编程中的特殊命名格式,使得翻译更准确,避免了因命名规则引起的翻译错误。 5. **发布翻译**:可能还包括一个功能...

    eclipse字符串下划线驼峰互转插件(附源码).7z

    驼峰命名法(Camel Case)是一种常用的编程命名规范,常用于变量、函数和类的命名。它将每个单词的首字母大写,例如"myVariableName"。而下划线命名法则是在每个单词之间用下划线分隔,如"my_variable_name",在一些...

    mybaits数据库下划线转java对象的驼峰.pdf

    这将启用 MyBatis 的自动命名转换功能,从而将数据库中下划线命名的表和字段转换为 Java 对象的驼峰命名。 方法二:在 Spring Boot 应用程序中添加配置 在 Spring Boot 应用程序的配置文件 `application.yml` 中...

    案例转换程序:将驼峰式案例转换为蛇形案例

    def camel_to_snake(camel_case_str): # 使用正则表达式匹配单词边界,然后将每个单词首字母转小写,其余字母转大写 snake_case_str = re.sub('([a-z])([A-Z])', r'\1_\2', camel_case_str).lower() return snake...

    自己做的很好的遗传算法

    遗传算法是一种基于生物进化原理的优化方法,它利用模拟自然选择和遗传机制来搜索问题的全局最优解。在本文中,我们将深入探讨遗传算法的基本流程、主要步骤以及给出的MATLAB程序实现。 遗传算法的核心思想是模拟...

    Java_Apache Camel Spring Boot示例.zip

    在实际应用中,Apache Camel可以处理多种消息协议和数据格式,如REST API、文件系统、MQTT、Kafka等。通过Spring Boot,你可以轻松地打包和部署这个应用,使得在分布式系统中的服务间通信变得更加便捷。 总之,Java...

Global site tag (gtag.js) - Google Analytics