プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

【JSP】fn:containsIgnoreCase()関数で大文字・小文字を区別せずに部分文字列を判定する方法

fn:containsIgnoreCase() 関数は、入力文字列に指定された部分文字列が含まれているかどうかを判定するためのJSTL関数です。この関数で検索を行う際には、大文字と小文字は区別されません。

構文

fn:containsIgnoreCase() 関数の構文は以下のとおりです。

boolean containsIgnoreCase(java.lang.String, java.lang.String)

第1引数に検索対象となる入力文字列を、第2引数に探したい部分文字列を指定し、結果として boolean 型の値(true / false)が返されます。

使用例

以下は、fn:containsIgnoreCase() 関数の動作を確認できるサンプルコードです。

<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri = "https://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
<html>
    <head>
       <title>JSTL関数の使用例</title>
    </head>
    <body>
       <c:set var = "theString" value = "I am a test String"/>
       <c:if test = "${fn:containsIgnoreCase(theString, 'test')}">
          <p>test という文字列が見つかりました</p>
       </c:if>
       <c:if test = "${fn:containsIgnoreCase(theString, 'TEST')}">
          <p>TEST という文字列が見つかりました</p>
       </c:if>
    </body>
</html>

上記のコードを実行すると、次のような結果が表示されます。

test という文字列が見つかりました
TEST という文字列が見つかりました

コードの解説

このサンプルでは、まず <c:set> タグを使って変数 theString に「I am a test String」という文字列を設定しています。続いて、<c:if> タグの中で fn:containsIgnoreCase() を呼び出し、「test」(小文字)と「TEST」(大文字)という2つの異なる表記で部分文字列の存在をチェックしています。

この関数は大文字と小文字を区別しないため、どちらの条件も true と評価され、両方のメッセージが出力されます。なお、大文字・小文字を厳密に区別して判定したい場合は、代わりに fn:contains() 関数を使用してください。

  1. PHP 8のstr_contains()関数で文字列に部分文字列が含まれるかどうかを判定する方法

    PHP 8で新たに導入された str_contains() 関数は、ある文字列の中に指定した部分文字列が含まれているかどうかを判定します。第1引数(検索対象の文字列)の中に第2引数(検索したい部分文字列)が存在すれば true、存在しなければ false をブール値として返す、非常に直感的で分かりやすい関数です。str_contains(string $haystack, string $needle): bool例1:PHP 8 の str_contains() 関数<?php    if (str_contains(great reading tutorial,

  2. Pythonで文字列が回文かどうかを判定する方法

    Pythonで回文判定を行う方法文字列が回文(前から読んでも後ろから読んでも同じになる文字列)であるかどうかを確認するには、Pythonの標準ライブラリに含まれる reversed() 関数を利用するのが便利です。この関数は逆順のイテレータオブジェクトを返し、それを list() でリストに変換することができます。手順1:reversed()で文字列を逆順にするまず、対象となる文字列を reversed() 関数に渡し、結果をリストとして取得します。>>> str1=malayalam >>> l1=list(reversed(str1)) >>