PHPで文字列が指定した単語で始まるかどうかを判定する方法
PHPでは、文字列が特定の文字列(プレフィックス)で始まっているかどうかを確認する関数を自作することができます。この関数は、条件に一致すれば TRUE を、一致しなければ FALSE を返します。
本記事では、substr() 関数と strlen() 関数を組み合わせて、文字列の先頭部分を比較するシンプルな方法を紹介します。
構文
関数の基本的な構文は以下のとおりです。
begnWith(str, begnStr)
各パラメータの意味は次のとおりです。
str − 検証対象となる文字列
begnStr − 対象文字列の先頭にあるかどうかを調べたいテキスト
サンプルコード
以下は実際の使用例です。関数内部では、まず検索語の長さを取得し、substr() で対象文字列の先頭からその長さ分を切り出して、厳密等価演算子(===)で比較しています。
<?php
function begnWith($str, $begnString) {
$len = strlen($begnString);
return (substr($str, 0, $len) === $begnString);
}
if(begnWith("pqrstuvwxyz", "p"))
echo "True! pで始まっています!";
else
echo "False! pで始まっていません!";
?>実行結果
上記のコードを実行すると、次のような出力が得られます。
True! pで始まっています!
補足:PHP 8以降を使っている場合
PHP 8.0以降では、標準関数の str_starts_with() を使うことで、同様の処理をより簡単に実現できます。
<?php
if (str_starts_with("pqrstuvwxyz", "p")) {
echo "True! pで始まっています!";
} else {
echo "False! pで始まっていません!";
}
?>古いバージョンのPHPに対応する必要がある場合は自作関数を、PHP 8以降が利用できる環境では組み込み関数を使うとよいでしょう。
-
Pythonで文字列が特定の接頭辞(XYZ)で始まるかどうかを確認する方法
startswith()メソッドを使う方法Pythonでは、文字列クラスに用意されている startswith() メソッドを使うことで、文字列が指定した接頭辞(プレフィックス)で始まるかどうかを簡単に確認できます。このメソッドは、検索したい接頭辞の文字列を引数として受け取り、文字列オブジェクトに対して呼び出します。先頭が一致すれば True、一致しなければ False が返されます。>>> hello world.startswith(hell) True >>> hello world.startswith(nope) False正規表現(reモジュール
-
Pythonで文字列が特定のサブ文字列(プレフィックス)で始まるかどうかを確認する方法
startswith()メソッドを使う方法 Pythonでは、文字列クラスに標準で用意されているstartswith()メソッドを使うことで、文字列が指定したプレフィックス(接頭辞)で始まるかどうかを簡単に確認できます。このメソッドは、検索したいプレフィックス文字列を引数として受け取り、文字列オブジェクトに対して呼び出します。戻り値は真偽値(True / False)です。 >>> hello world.startswith(hell) True >>> Harry Potter.startswith(Harr) True >>> hel