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が返される点にも注意してください。
-
Pythonで文字列が特定のサブ文字列(プレフィックス)で始まるかどうかを確認する方法
startswith()メソッドを使う方法 Pythonでは、文字列クラスに標準で用意されているstartswith()メソッドを使うことで、文字列が指定したプレフィックス(接頭辞)で始まるかどうかを簡単に確認できます。このメソッドは、検索したいプレフィックス文字列を引数として受け取り、文字列オブジェクトに対して呼び出します。戻り値は真偽値(True / False)です。 >>> hello world.startswith(hell) True >>> Harry Potter.startswith(Harr) True >>> hel
-
Pythonで文字列が英数字のみかどうかを判定する方法【isalnum()と正規表現】
Pythonでは、文字列が英数字(アルファベットと数字)のみで構成されているかどうかを簡単に判定できます。主な方法は2つあります。文字列クラスに組み込まれている isalnum() メソッドを使う方法と、正規表現を使う方法です。 isalnum()メソッドを使う方法 Pythonの文字列クラスには isalnum() というメソッドが用意されています。このメソッドを文字列に対して呼び出すと、文字列が英数字のみで構成されている場合に True を、記号などが含まれる場合には False を返します。 >>> 123abc.isalnum() True >>>