1

次のような文字列があるとします。

String test = "hfikoebndolahsdHEL123LOkjahhsdqhuihs";

そして、「HEL123LO」以外のすべてを削除したいのですが、番号が653のようになる可能性があり、とにかく削除されません。それは可能ですか?

あなたが私を理解してくれることを願っています!

前もって感謝します。

(下手な英語でごめんなさい)。

4

2 に答える 2

14

String.replaceAll()適切な正規表現でメソッドを使用します。

test = test.replaceAll(".*(HEL\\d{3}LO).*", "$1");

この正規表現は入力全体と一致し、一致したグループ(グループ番号1)に置き換えられます。

于 2012-06-20T19:08:52.137 に答える
4

あなたStringが言及した種類のものになり、その間の数字の変化だけが好きで、残りの文字があなたの例のような種類のものであり、"hfikoebndolahsdHEL123LOkjahhsdqhuihs"保持したい場合は、単純な部分文字列を行うことができますHEL123LO. これが最善の解決策ではないことはわかっていますが、代替案を提案しているだけです。

test = test.substring(test.indexOf("H"),(test.lastIndexOf("O")+1));
于 2012-06-20T19:13:37.867 に答える