📜  删除非大写字符 php (1)

📅  最后修改于: 2023-12-03 15:22:44.462000             🧑  作者: Mango

删除非大写字符 PHP

在开发PHP应用程序时,经常需要从字符串中删除非大写字符以达到特定要求,比如只保留大写字母用于URL路由、表示状态等等。下面介绍两种方法来实现这个功能。

使用正则表达式

使用正则表达式是一种常见的方法来删除非大写字符。

<?php
$str = "aBcDeFG";
$str = preg_replace("/[^A-Z]/", "", $str);
echo $str; //输出 BDEFG
?>

这里使用了 preg_replace() 函数来替换所有不符合模式匹配的字符。[^A-Z] 匹配除大写字母以外的所有字符,并被空字符串替换。最后输出 $str 的值 BDEFG

使用循环和 ASCII 值

另一种方法是使用循环和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的介绍,希望对您有所帮助。