Javaで文字列の中から特定の文字列を切り出す方法をメモしておきます。例えば、<head><title>abc</title></head>
という文字列の中から<title>abc</title>
部分を抜き出したいときにこの方法が役立ちます。
文字列の中から特定の文字列を切り出す方法
String
のindexOf
およびsubstring
メソッドを組み合わせて実現します。
先にソースを載せておきます。この例では、<head><title>abc</title></head>
という文字列の中から<title>abc</title>
を抜き出しています。
indexOf(String str)
は、文字列の中から指定された部分文字列(str
)が最初に出現する位置のインデックスを返します。今回の場合、<head><title>abc</title></head>
の中から<title>
と</title>
それぞれが最初に現れる位置のインデックスを取得しています。
もう少し具体的にいうと、<title>
の<
、</title>
の>
の位置を取得しようとしています。</title>
の>
の位置を取得するときに少し工夫をしています。単にindexOf(String str)
を行うと、<
の位置を取得することになるので、</title>
の長さ分、インデックスを後ろにずらすことで>
の位置を取得しています。
indexOf
を利用して切り出した文字列の開始位置と終了位置が取得できれば、substring(int beginIndex, int endIndex)
を使って特定の文字列を切り出します。これで、<title>abc</title>
が切り出せました!
まとめ
Javaで文字列の中から特定の文字列を切り出す方法でした。こういう初歩的なテクニックが意外と使えたりするんですよね。