Pesquisa de site

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.

Artigos relacionados: