次のような文字列があるとします。
String test = "hfikoebndolahsdHEL123LOkjahhsdqhuihs";
そして、「HEL123LO」以外のすべてを削除したいのですが、番号が653のようになる可能性があり、とにかく削除されません。それは可能ですか?
あなたが私を理解してくれることを願っています!
前もって感謝します。
(下手な英語でごめんなさい)。
String.replaceAll()
適切な正規表現でメソッドを使用します。
test = test.replaceAll(".*(HEL\\d{3}LO).*", "$1");
この正規表現は入力全体と一致し、一致したグループ(グループ番号1)に置き換えられます。
あなたString
が言及した種類のものになり、その間の数字の変化だけが好きで、残りの文字があなたの例のような種類のものであり、"hfikoebndolahsdHEL123LOkjahhsdqhuihs"
保持したい場合は、単純な部分文字列を行うことができますHEL123LO
. これが最善の解決策ではないことはわかっていますが、代替案を提案しているだけです。
test = test.substring(test.indexOf("H"),(test.lastIndexOf("O")+1));