ホームページ >バックエンド開発 >PHPの問題 >PHP は漢字から数字を削除します

PHP は漢字から数字を削除します

王林
王林オリジナル
2023-05-06 11:19:07627ブラウズ

PHP を使用して中国語の文字列を処理する場合、場合によっては中国語の文字の数字を削除する必要があります。この問題は比較的一般的ですが、この記事では、PHP を使用して漢字から数字を削除する方法を紹介します。

1. 正規表現を使用して中国語の文字から数字を削除する

PHP では、正規表現を使用して中国語の文字から数字を削除できます。以下は簡単なサンプル コードです。

$str = "这是一个带有数字1和2的句子";
$str = preg_replace('/\d+/u', '', $str);
echo $str;

上記のコードでは、preg_replace() 関数を使用して文字列内の数値を空の文字列に置き換え、最後に置き換えられた文字列を出力します。

このうち、正規表現「\d」は 1 つ以上の数値と一致することを意味し、パラメータ「u」は文字列を UTF-8 エンコーディングで処理することを意味します。

2. substr() 関数を使用して中国語の文字から数字を削除する

正規表現を使用するだけでなく、substr() 関数を使用して中国語の文字から数字を削除することもできます。以下はサンプル コードです:

$str = "这是一个带有数字1和2的句子"; 
$newStr = "";
for($i=0;$i<strlen($str);$i++){
    $char = substr($str,$i,1);
    if(ord($char)<0x80 || !is_numeric($char)) {
        $newStr .= $char;
    }
}
echo $newStr;

上記のコードでは、文字列内の各文字を調べます。文字の ASCII コードが 0x80 (つまり英語の文字) 未満であるか、文字でない場合は、数値に応じて、文字が文字列内の新しい文字に追加されます。

3. mb_ereg_replace() 関数を使用して中国語の文字から数字を削除する

上記の方法に加えて、mb_ereg_replace() 関数を使用して中国語の文字から数字を削除することもできます。以下はサンプル コードです。

$str = "这是一个带有数字1和2的句子";
$str = mb_ereg_replace('[0-9]', '', $str);
echo $str;

上記のコードでは、mb_ereg_replace() 関数を使用して文字列内の数値を空の文字列に置き換え、最後に置き換えられた文字列を出力します。このうち、正規表現「[0-9]」は数字の一致を意味します。

概要

この記事では、PHP を使用して漢字から数字を削除する方法を紹介します。この機能を実現するには、正規表現、substr() 関数、mb_ereg_replace() 関数を使用できます。実際のプロジェクトでは、ニーズとシナリオに基づいて、中国語の文字列の数値を処理するさまざまな方法を選択できます。

以上がPHP は漢字から数字を削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。