You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

下划线字符串转Pascal Case:将PRODUCT_CHANGE_IT_LATER转为ProductChangeItLater

把下划线分隔的全大写字符串转成Pascal Case的实用方法

没问题,我来给你几种不同编程语言下的实现方案,轻松把PRODUCT_CHANGE_IT_LATER这类格式转成ProductChangeItLater~

Python 实现

最直观的思路是按下划线拆分字符串,对每个单词做首字母大写处理,再拼接起来:

def snake_to_pascal(s):
    # 按下划线分割,每个单词首字母大写后拼接
    return ''.join(word.capitalize() for word in s.split('_'))

# 测试示例
input_str = "PRODUCT_CHANGE_IT_LATER"
print(snake_to_pascal(input_str))  # 输出:ProductChangeItLater

capitalize()方法会自动把单词的首字母转大写,其余字母转小写,完美适配你的全大写输入场景。

JavaScript 实现

有两种常用方式,一种是拆分后映射处理,另一种用正则表达式:

方式1:拆分+映射

function snakeToPascal(s) {
    return s.split('_')
            .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
            .join('');
}

// 测试
const inputStr = "PRODUCT_CHANGE_IT_LATER";
console.log(snakeToPascal(inputStr)); // 输出:ProductChangeItLater

方式2:正则替换

先把字符串转小写,再匹配下划线后的字符转大写,最后修正首字母:

function snakeToPascal(s) {
    // 先转小写,替换下划线+字符为大写字符
    const lowerCamel = s.toLowerCase().replace(/_([a-z])/g, (_, char) => char.toUpperCase());
    // 首字母转大写得到PascalCase
    return lowerCamel.charAt(0).toUpperCase() + lowerCamel.slice(1);
}

C# 实现

可以利用TextInfo的标题格式化功能,或者用LINQ处理:

方式1:TextInfo 方案

using System.Globalization;

public static string SnakeToPascal(string s)
{
    TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;
    // 转小写→下划线换空格→标题格式→去掉空格
    return textInfo.ToTitleCase(s.ToLower().Replace("_", " ")).Replace(" ", "");
}

// 测试
string inputStr = "PRODUCT_CHANGE_IT_LATER";
Console.WriteLine(SnakeToPascal(inputStr)); // 输出:ProductChangeItLater

方式2:LINQ 方案

和Python思路类似,拆分后处理每个单词再拼接:

using System.Linq;

public static string SnakeToPascal(string s)
{
    return string.Concat(s.Split('_').Select(word => char.ToUpper(word[0]) + word.Substring(1).ToLower()));
}

如果是其他编程语言的需求,随时告诉我,我再补充对应的实现~

内容的提问来源于stack exchange,提问作者Soner from The Ottoman Empire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:12:34