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

JSPで文字列内の指定した部分文字列のインデックスを取得する方法

JSTLのfn:indexOf()関数を使用すると、文字列の中に含まれる特定の部分文字列が最初に出現する位置(インデックス)を取得できます。インデックスは先頭の文字を0としてカウントされます。

構文

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

int indexOf(java.lang.String, java.lang.String)

使用例

ここでは、fn:indexOf()関数の動作を確認できるサンプルコードを紹介します。

<%@ 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 = "string1" value = "This is first String."/>
      <c:set var = "string2" value = "This <abc>is second String.</abc>"/>
      <p>Index (1) : ${fn:indexOf(string1, "first")}</p>
      <p>Index (2) : ${fn:indexOf(string2, "second")}</p>
   </body>
</html>

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

Index (1) : 8
Index (2) : 13

このように、fn:indexOf()関数は第1引数に検索対象の文字列、第2引数に探したい部分文字列を渡すことで、その出現位置をint型の値として返します。なお、指定した部分文字列が見つからなかった場合は-1が返される点にも注意してください。

  1. Pythonで文字列が特定のサブ文字列(プレフィックス)で始まるかどうかを確認する方法

    startswith()メソッドを使う方法 Pythonでは、文字列クラスに標準で用意されているstartswith()メソッドを使うことで、文字列が指定したプレフィックス(接頭辞)で始まるかどうかを簡単に確認できます。このメソッドは、検索したいプレフィックス文字列を引数として受け取り、文字列オブジェクトに対して呼び出します。戻り値は真偽値(True / False)です。 >>> hello world.startswith(hell) True >>> Harry Potter.startswith(Harr) True >>> hel

  2. Pythonで文字列が英数字のみかどうかを判定する方法【isalnum()と正規表現】

    Pythonでは、文字列が英数字(アルファベットと数字)のみで構成されているかどうかを簡単に判定できます。主な方法は2つあります。文字列クラスに組み込まれている isalnum() メソッドを使う方法と、正規表現を使う方法です。 isalnum()メソッドを使う方法 Pythonの文字列クラスには isalnum() というメソッドが用意されています。このメソッドを文字列に対して呼び出すと、文字列が英数字のみで構成されている場合に True を、記号などが含まれる場合には False を返します。 >>> 123abc.isalnum() True >>>