📅  最后修改于: 2023-12-03 15:22:44.462000             🧑  作者: Mango
在开发PHP应用程序时,经常需要从字符串中删除非大写字符以达到特定要求,比如只保留大写字母用于URL路由、表示状态等等。下面介绍两种方法来实现这个功能。
使用正则表达式是一种常见的方法来删除非大写字符。
<?php
$str = "aBcDeFG";
$str = preg_replace("/[^A-Z]/", "", $str);
echo $str; //输出 BDEFG
?>
这里使用了 preg_replace()
函数来替换所有不符合模式匹配的字符。[^A-Z]
匹配除大写字母以外的所有字符,并被空字符串替换。最后输出 $str
的值 BDEFG
。
另一种方法是使用循环和ASCII值来删除非大写字符。
<?php
function removeNonUppercase($str) {
$newStr = "";
$len = strlen($str);
for ($i = 0; $i < $len; $i++) {
$asciiValue = ord($str[$i]);
if ($asciiValue >= 65 && $asciiValue <= 90) {
$newStr .= $str[$i];
}
}
return $newStr;
}
$str = "aBcDeFG";
$str = removeNonUppercase($str);
echo $str; //输出 BDEFG
?>
这里定义了一个名为 removeNonUppercase()
的函数,它使用循环遍历字符串中的每个字符,并将 ASCII 值与大写字母的 ASCII 值进行比较。如果一个字符是大写字母,则将其添加到新字符串中。最后输出 $str
的值 BDEFG
。
以上两种方法都可以实现删除非大写字符的功能。使用正则表达式的方法更简单和快速,而使用循环和ASCII值的方法可以更灵活应对不同的需求。
以上是删除非大写字符PHP的介绍,希望对您有所帮助。