Snake 케이스를 Lower Camel Case로 변환 (lowerCamelCase)
my_string
Python 2.7 에서 snake case ( )를 lower camel case (myString) 로 변환하는 좋은 방법은 무엇입니까 ?
확실한 해결책은 밑줄로 나누고 첫 번째 단어를 제외한 각 단어를 대문자로 한 다음 다시 합치는 것입니다.
그러나 나는 다른 더 관용적 인 솔루션이나 RegExp
이것을 달성 하는 데 사용하는 방법이 궁금 합니다 (일부 대소 문자 수정 자 포함?)
def to_camel_case(snake_str):
components = snake_str.split('_')
# We capitalize the first letter of each component except the first one
# with the 'title' method and join them together.
return components[0] + ''.join(x.title() for x in components[1:])
예:
In [11]: to_camel_case('snake_case')
Out[11]: 'snakeCase'
다음은 Python 3.5 이상에서만 작동하는 또 다른 테이크입니다.
def camel(snake_str):
first, *others = snake_str.split('_')
return ''.join([first.lower(), *map(str.title, others)])
필수 한 줄 :
import string
def to_camel_case(s):
return s[0].lower() + string.capwords(s, sep='_').replace('_', '')[1:] if s else s
>>> snake_case = "this_is_a_snake_case_string"
>>> l = snake_case.split("_")
>>> print l[0] + "".join(map(str.capitalize, l[1:]))
'thisIsASnakeCaseString'
또 하나의 라이너
def to_camel_case(snake_string):
return snake_string.title().replace("_", "")
Steve의 답변을 바탕으로이 버전은 다음과 같이 작동합니다.
def to_camel_case(snake_case_string):
titleCaseVersion = snake_case_string.title().replace("_", "")
camelCaseVersion = titleCaseVersion[0].lower() + titleCaseVersion[1:]
return camelCaseVersion
다음은 정규식을 사용하는 솔루션입니다.
import re
def snake_to_camel(text):
return re.sub('_([a-zA-Z0-9])', lambda m: m.group(1).upper(), text)
이것에 조금 늦었지만 며칠 전에 / r / python에서 이것을 발견했습니다.
pip install pyhumps
그런 다음 다음을 수행 할 수 있습니다.
import humps
humps.camelize('jack_in_the_box') # jackInTheBox
# or
humps.decamelize('rubyTuesdays') # ruby_tuesdays
# or
humps.pascalize('red_robin') # RedRobin
def to_camel_case(snake_str):
components = snake_str.split('_')
return reduce(lambda x, y: x + y.title(), components[1:], components[0])
목록 이해를 사용하지 않고 :
def snake_to_camel_case(text_snake):
return '{}{}'.format(
text_snake[:1].lower(),
text_snake.title().replace('_', '')[1:],
)
There is also tocamelcase
to easily convert from snake case to camel case.
Install
$ pip install tocamelcase
and then you can use it like this:
import tocamelcase
print(tocamelcase.convert("non_camel_case"))
# -> non_camel_case → NonCamelCase
There is also decamelize
that is the inverse of this module.
So I needed to convert a whole file with bunch of snake case parameters into camel case. The solution by Mathieu Rodic worked best. Thanks.
Here is a little script to use it on files.
import re
f = open("in.txt", "r")
words = f.read()
def to_camel_case3(s):
return re.sub(r'_([a-z])', lambda x: x.group(1).upper(), s)
f = open("out.txt", "w")
f.write(to_camel_case3(words))
'Program Tip' 카테고리의 다른 글
개수 별 SQL 순서 (0) | 2020.12.07 |
---|---|
활성 레코드 마이그레이션 레일의 has_many, belongs_to 관계 4 (0) | 2020.12.07 |
OrderedDict 이해 (0) | 2020.12.07 |
C ++에서 new 대신 std :: allocator를 사용하는 이점은 무엇입니까? (0) | 2020.12.07 |
Jupyter에서 TensorFlow 그래프를 시각화하는 간단한 방법은 무엇입니까? (0) | 2020.12.07 |