驼峰式命名改下划线命名

import sys
import re
if __name__ == "__main__":
    # 读取第一行的n
    n = int(sys.stdin.readline().strip())
    str = []
    for i in range(n):
        # 读取每一行
        line = sys.stdin.readline().strip()
        # 匹配正则,匹配小写字母和大写字母的分界位置
        p = re.compile(r‘([A-Z][a-z]*)‘)
        # 这里第二个参数使用了正则分组的后向引用
        sub = re.findall(p, line)
        print(sub)
        ret = []
        temp = ‘‘
        for index, item in enumerate(sub):
            if len(item) > 1:
                if len(temp) > 1:
                    ret.append(temp)
                    temp = ‘‘
                ret.append(item)
            else:
                temp += item
                if index == len(sub)-1:
                    ret.append(temp)
        ret = [i.lower() for i in ret]
        str.append(ret)
    for i in str:
        print(str)

原文地址:https://www.cnblogs.com/l-jie-n/p/10152665.html

时间: 2024-10-01 04:48:38

驼峰式命名改下划线命名的相关文章

驼峰命名和下划线命名互转php实现

驼峰命名和下划线命名经常需要互转,下面提供两种php的实现方式.第一种方法效率相对差一些,实现方式如下: //驼峰命名转下划线命名 function toUnderScore($str) { $dstr = preg_replace_callback('/([A-Z]+)/',function($matchs) { return '_'.strtolower($matchs[0]); },$str); return trim(preg_replace('/_{2,}/','_',$dstr),'

Java-驼峰命名与下划线命名互转

package com.xsh.util; /** * String工具类 * * @author xieshuang * @date 2019-05-23 */ public class StringUtils { private final static String UNDERLINE = "_"; /*** * 下划线命名转为驼峰命名 * * @param para * 下划线命名的字符串 */ public static String underlineToHump(Stri

iOS 蛇形式(下划线)命名转化为驼峰式

在解析json的时候,经常json的变量名都是蛇行式(下划线)命名法来命名的,所以写了一个类方法来转换. + (NSString *)convertToCamelCaseFromSnakeCase:(NSString *)key { NSMutableString *str = [NSMutableString stringWithString:key]; while ([str containsString:@"_"]) { NSRange range = [str rangeOfS

详解 Python 中的下划线命名规则

在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线.双下划线.双下划线还分前后……那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题. 1.单下划线(_) 通常情况下,单下划线(_)会在以下3种场景中使用: 1.1 在解释器中: 在这种情况下,“_”代表交互式解释器会话中上一条执行的语句的结果.这种用法首先被标准CPython解释器采用,然后其他类型的解释器也先后采用. >>> _ Traceback (most recent call last): Fil

驼峰字符串转换成下划线样式

// 驼峰字符串转换成下划线样式 $str = 'openAPI'; echo $str."<BR>"; echo strtolower(preg_replace('/((?<=[a-z])(?=[A-Z]))/', '_', $str)).'<br>';//open_ap 正则表达式补充: ?: 不想被捕获的时候使用 可以提高程序执行速度 $string = 'April 15, 2003'; $pattern = '/(\w+) (\d+), (\d+

驼峰命名法和下划线风格的互转

偶然遇到这个问题,感觉有些意思,于是研究了一下. 下划线转驼峰比较简单,直接根据下划线打散成数组,每个子项首字符转大写,再做字符串拼接即可. 驼峰转下划线风格,稍微复杂一些.刚开始我没有思路,后来想到,可以遍历字符串,遇到大写字母将其转换成小写,并在前面加一个下划线. 最终实现: class CamelTool{ //驼峰命名法转下划线风格 public static function toUnderScore($str){ $array = array(); for($i=0;$i<strle

驼峰命名法和下划线

之前遇到一种命名要求,强制不使用下划线,全部用驼峰命名法来 Mission1GetName(); Mission1_GetName(); 先不说哪种方法好,下面这种缩写的情况..这种命名要求就SB了 Mission1GetWIN32BTNGO();//Mission1 Get WIN32 BTN(Button) GO(Game Object) 缩写混合在一块,如果依然要用这种命名约定,只有这种解决方法: Mission1GetWin32BtnGo 看似可行,但有时候会让人觉得是单词而不是缩写.

驼峰法和下划线命名法的互相转换

主要是接口入参太多,python和java的命名不同,做个转换 # coding:utf8 import re class StrTransverter(object): p = re.compile(r'([a-z]|\d)([A-Z])') p2 = re.compile(r'(_\w)') def __init__(self,raw_str): self.raw_str = raw_str def hump2underline(self): """ 驼峰法转换为下划线

Python 的类的下划线命名有什么不同?

1,以一个下划线开头的命名 ,如_getFile2,以两个下划线开头的命名 ,如__filename3,以两个下划线开头和结尾的命名,如 __init__()4,其它这些命名有什么不同吗 首先是单下划线开头,这个被常用于模块中,在一个模块中以单下划线开头的变量和函数被默认当作内部函数,如果使用 from a_module import * 导入时,这部分变量和函数不会被导入.不过值得注意的是,如果使用 import a_module 这样导入模块,仍然可以用 a_module._some_var