Perl简单正则表达式大写单词由下划线分隔

dal*_*sam 2 regex perl

考虑我有类似的字符串print_this_text_in_camel_case,我希望将第一个单词和下划线后面的每个单词大写,因此结果将是Print_This_Text_In_Camel_Case.以下测试不适用于第一个单词.

#!/usr/bin/perl

my $str = "print_this_text_in_camel_case";

$str =~ s/(_.)/uc($1)/ge;

print $str, "\n";
Run Code Online (Sandbox Code Playgroud)

jh3*_*314 5

只需修改正则表达式以匹配第一个字符:

#!/usr/bin/perl

my $str = "print_this_text_in_camel_case";

$str =~ s/(_.|^.)/uc($1)/ge;

print $str, "\n";
Run Code Online (Sandbox Code Playgroud)

将打印出来:

Print_This_Text_In_Camel_Case
Run Code Online (Sandbox Code Playgroud)