>_

camelCase 转 snake_case

camelCase 常用于JavaScript / TypeScript / Java 的变量名,以及许多 Web API 的 JSON 字段;snake_case 常用于Python 变量、Ruby、数据库字段和许多 REST API。在不同语言、数据库和接口之间传递数据时,经常需要在两者之间转换。

转换示例

camelCase snake_case
userId user_id
firstName first_name
createdAt created_at
XMLHttpRequest xml_http_request
orderItemId order_item_id

在线测试

camelCase 小驼峰
 
PascalCase 大驼峰
 
snake_case 下划线
 
CONSTANT_CASE 常量
 
kebab-case 短横线
 
Train-Case
 
dot.case 点分隔
 
path/case 路径
 
Title Case 标题
 
Sentence case 句首大写
 
lowercase 全小写
 
UPPERCASE 全大写
 

代码实现

JavaScript

const toSnake = (s) => s
  .replace(/([a-z\d])([A-Z])/g, '$1_$2')
  .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')
  .toLowerCase();

Python

import re

def to_snake(s: str) -> str:
    s = re.sub(r'([A-Z]+)([A-Z][a-z])', r'\1_\2', s)
    return re.sub(r'([a-z\d])([A-Z])', r'\1_\2', s).lower()

更多常用示例

打开完整的命名风格转换 →