Python版 驼峰变量(camel case)转蛇形变量方法(

2020-04-15  本文已影响0人  anycell

需要实现一个json中key由驼峰转蛇形变量的转换功能,因此写了一个camel case to snake case的函数,不求效率有多高,只求简单有效:

import re

def camel_to_snake_case(text):
    matches = re.finditer('[A-Z]', text)

    contents = []
    last_start = 0
    for it in matches:
        start, end = it.span()
        if start > 0:
            contents.append(text[last_start:start])

        last_start = start

    contents.append(text[last_start:])
    return '_'.join(contents).lower()


if __name__ == '__main__':
    import sys
    camel_text = sys.argv[1]
    snake_text = camel_to_snake_case(camel_text)

    print("{} => {}".format(camel_text, snake_text))
    print(camel_text.lower().replace('_', '') == snake_text.replace('_', ''))

上一篇 下一篇

猜你喜欢

热点阅读