使用perl计算字符串中的大写字母

yoh*_*hna 6 string perl character uppercase

我想用perl计算字符串中的大写字母数.

例如:我需要知道单词"EeAEzzKUwUHZws"包含多少个大写字符.

Stu*_*att 15

请注意Unicode,因为直接AZ的东西对于其他字符(例如带重音的大写字母)并不是真正可移植的.如果您还需要处理这些,请尝试:

my $result = 0;
$result++ while($string =~ m/\p{Uppercase}/g);
Run Code Online (Sandbox Code Playgroud)

  • 或者只是`$ result =()= $ string = ~m /\p {大写}/g` (6认同)
  • 请记住,`大写`(别名`upper`)不仅仅包含`Uppercase_Letter`(别名`Lu`),尽管前者比后者更适合.当然,当那些与大写不同时,忽略了标题. (2认同)

mob*_*mob 9

使用tr运营商:

$upper_case_letters = $string =~ tr/A-Z//;
Run Code Online (Sandbox Code Playgroud)

这是一个常见问题,tr操作员通常优于其他技术.