特定の文字列と文字列の間の文字列を、正規表現を使用しないで抽出する方法を紹介します。
例①として、”2018年9月2日”という文字列から、”月”と”日”の間の”2“だけを取得します。
例②として、”ABCDEFGHIJKLMN”いう文字列から、”C”と”L”の間の”DEFGHIJK“だけを取得します。
正規表現を使用した方法は以下の記事で紹介しています。(以下の記事の方がおすすめ)
①特定の文字列と文字列の間を抽出する
変数strに文字列”2018年9月2日”を代入します。
処理を2回に分けます。
①先頭から”月”までの文字”2018年9月”を削除します
str.Remove(0,str.IndexOf(“月”) + 1)
Remove関数を使用し、先頭(0)から”月の”文字位置(6文字目) + “月”自体の文字数(1文字)を削除します。
結果先頭から7文字削除され、”2日”だけになります。
②”日”以降の文字を削除します
str.Remove(str.IndexOf(“日”))
Remove関数を使用し、”日”の文字位置(1文字目)以降を削除します。
※文字列の先頭は0文字目 2⇒0文字目 日⇒1文字目
結果1文字目以降が削除され、”月”と”日”の間の”2″だけ取得できました。
②特定の文字列と文字列の間を抽出する
変数strに文字列”ABCDEFGHIJKLMN”を代入します。
処理を2回に分けます。
①先頭から”C”までの文字”ABC”を削除します
str.Remove(0,str.IndexOf(“C”) + 1)
Remove関数を使用し、先頭(0)から”Cの”文字位置(2文字目) + “月”自体の文字数(1文字)を削除します。
結果先頭から3文字削除され、”DEFGHIJKLMN”だけになります。
②”L”以降の文字を削除します
str.Remove(str.IndexOf(“L”))
Remove関数を使用し、”L”の文字位置(8文字目)以降を削除します。
※文字列の先頭は0文字目
結果8文字目以降が削除され、”C”と”L”の間の”DEFGHIJK”だけ取得できました。