Converter string de Snake Case em Camel Case usando Python
A string de maiúsculas e minúsculas é a convenção de nomenclatura onde as palavras são separadas por um sublinhado ('-'). O caso Camel é definido por duas ou mais palavras conectadas entre si sem espaços e com a primeira letra de cada palavra em maiúscula. Existem vários métodos integrados em Python, como split(), join() e re.sub() que podem ser usados para converter Snake Case String em Camel Case usando Python.
Vamos dar um exemplo disso -
Snake Case String - hello_world (com separador, ou seja, sublinhado ‘_’)
Camel Case String − helloWorld (quando convertemos o caso Snake para o caso Camel permite que a segunda palavra da primeira letra seja maiúscula e sem espaço e separador).
Sintaxe
A seguinte sintaxe é usada nos exemplos -
split()
O split() é um método integrado em Python que ajuda a definir a nova substring da string. Este método divide uma string em uma lista de strings após quebrá-la com o separador fornecido.
join()
O join() é um método integrado em Python que pode ser usado para conectar todas as strings.
re.sub()
A função re.sub(pat, replacement, str) procura e substitui todas as instâncias do padrão na string fornecida.
title()
O método title é uma biblioteca integrada em Python que converte a string da primeira letra em maiúscula.
Usando os métodos Split() e Join()
O programa usa um método chamado split() para dividir a lista de strings e também usa o método chamado join() que será usado para conectar as duas palavras sem deixar espaço.
Exemplo
No exemplo a seguir, definiremos primeiro a função chamada Snake_to_camel_case que converte Snake_case_string em CamelCase. Para construir a versão camelCase, ele divide a string em sublinhados, coloca as palavras subsequentes em maiúscula e as combina. Finalmente, estamos imprimindo o resultado como “blackBox ”.
def snake_to_camel_case(snake_case_string):
words = snake_case_string.split('_')
camel_case_string = words[0].lower() + ''.join(word.title() for word in words[1:])
return camel_case_string
# Store input for snake case string
snake_case_str = "black_box"
result = snake_to_camel_case(snake_case_str)
print(result)
Saída
blackBox
Usando Expressão Regular e Re.sub()
O programa usa expressões regulares que ajudarão a converter Snake Case String em Camel Case String.
Exemplo
No exemplo a seguir, a função chamada Snake_to_camel_case usa uma expressão regular para converter Snake_case_string em CamelCase. Ele substitui a versão maiúscula da letra por sublinhado seguido de uma letra. Então o resultado final fica
“kaliLinux”.
import re
def snake_to_camel_case(snake_case_string):
camel_case_string = re.sub(r'_([a-zA-Z])', lambda match: match.group(1).upper(), snake_case_string)
return camel_case_string
# Input of snake case string
snake_case_str = "kali_linux"
result = snake_to_camel_case(snake_case_str)
print(result)
Saída
kaliLinux
Usando compreensão de lista e ''.join()
O programa usa o método chamado join() com uma string vazia que será usada para armazenar a nova string e usar a compreensão da lista no loop for para fatiar o separador, ou seja, ‘_’. Esta é a maneira de obter a conversão de Snake Case String em Camel Case String.
Exemplo
No exemplo a seguir, comece com a função snake_to_camel_case que converte um snake_case_string em camelCase. Para acessar palavras individuais, ele separa a string por sublinhados. Ele coloca cada palavra em maiúscula e a concatena com as palavras anteriores começando com a segunda. A seguir, o resultado final será “desenvolvimento de software”.
def snake_to_camel_case(snake_case_string):
words = snake_case_string.split('_')
camel_case_string = ''.join(words[0] + word.title() for word in words[1:])
return camel_case_string
# Input of snake case string
snake_case_str = "software_development"
result = snake_to_camel_case(snake_case_str)
print(result)
Saída
softwareDevelopment
Usando um loop e concatenação de strings
O programa utiliza a concatenação de strings que criará a nova formação da string e fará um loop, ele irá iterar a string e retornar o resultado na transformação da string Camel Case.
Exemplo
No exemplo a seguir, Snake_case_string é convertido em camelCase usando a função Snake_to_camel_case. Ele separa a string em sublinhados e carrega a primeira palavra em camel_case_string. Em seguida, ele usa o loop for pelas palavras restantes, colocando cada uma em maiúscula e anexando-as ao camel_case_string. Finalmente, estamos imprimindo o resultado como “pythogorasTheorem ”.
def snake_to_camel_case(snake_case_string):
words = snake_case_string.split('_')
camel_case_string = words[0]
for word in words[1:]:
camel_case_string += word.title()
return camel_case_string
# Input of snake case string
snake_case_str = "pythogoras_theorem"
result = snake_to_camel_case(snake_case_str)
print(result)
Saída
pythogorasTheorem
Conclusão
Discutimos as várias maneiras de resolver a definição do problema deste artigo. As strings Snake Case e Camel Case são usadas para representar a convenção de nomenclatura que usava nomes de variáveis na programação. A conversão de duas strings diferentes é a forma de construir a lógica do programa que será utilizado para representar diferentes formatos de estilos.