使用Python将蛇形命名法字符串转换为驼峰命名法


蛇形命名法是一种命名约定,其中单词用下划线('_')分隔。驼峰命名法是指两个或多个单词连接在一起,没有空格,每个单词的首字母大写。Python中有多种内置方法,如split()、join()和re.sub(),可用于将蛇形命名法字符串转换为驼峰命名法。

让我们来看一个例子:

  • 蛇形命名法字符串 - hello_world(使用分隔符,即下划线'_')

  • 驼峰命名法字符串 - helloWorld(将蛇形命名法转换为驼峰命名法时,第二个单词的首字母大写,并且没有空格和分隔符)。

语法

以下语法在示例中使用:

split()

split()是Python中的内置方法,用于从字符串中设置新的子字符串。此方法使用提供的分隔符将字符串分割成字符串列表。

join()

join()是Python中的内置方法,用于将所有字符串连接在一起。

re.sub()

re.sub(pat, replacement, str)函数查找并替换给定字符串中模式的所有实例。

title()

title方法是Python中的内置库,用于将字符串的首字母转换为大写。

使用Split()和Join()方法

该程序使用名为split()的方法来分割字符串列表,并使用名为join()的方法来连接两个单词,中间没有空格。

示例

在下面的示例中,我们将首先定义名为snake_to_camel_case的函数,该函数将snake_case_string转换为camelCase。它通过下划线分割字符串,将后续单词的首字母大写,并将它们组合起来以构造camelCase版本。最后,我们打印结果为“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)

输出

blackBox

使用正则表达式和Re.sub()

该程序使用正则表达式来帮助将蛇形命名法字符串转换为驼峰命名法字符串。

示例

在下面的示例中,名为snake_to_camel_case的函数使用正则表达式将snake_case_string转换为camelCase。它用字母的大写版本替换下划线后跟一个字母。然后最终结果变为

“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)

输出

kaliLinux

使用列表推导式和''.join()

该程序使用带有空字符串的join()方法来存储新字符串,并在for循环中使用列表推导式来分割分隔符,即'_'。这是将蛇形命名法字符串转换为驼峰命名法字符串的方法。

示例

在下面的示例中,我们从名为snake_to_camel_case的函数开始,该函数将snake_case_string转换为camelCase。它通过下划线分割字符串以访问各个单词。它将每个单词大写,并将其与从第二个单词开始的前面单词连接起来。接下来,最终结果将变为“softwareDevelopment”

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)

输出

softwareDevelopment

使用循环和字符串连接

该程序使用字符串连接来创建字符串的新格式,并循环迭代字符串,并将结果转换为驼峰命名法字符串。

示例

在下面的示例中,snake_case_string使用snake_to_camel_case函数转换为camelCase。它通过下划线分割字符串并将第一个单词加载到camel_case_string中。然后,它使用for循环遍历其余单词,将每个单词大写并将其附加到camel_case_string中。最后,我们打印结果为“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)

输出

pythogorasTheorem

结论

我们讨论了多种解决本文问题陈述的方法。蛇形命名法和驼峰命名法字符串用于表示编程中使用的变量名的命名约定。两种不同字符串的转换是构建程序逻辑的方法,该逻辑将用于表示不同的样式格式。

更新于:2023年7月17日

2K+ 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告