コード:だから試合後読み/先読み複数回
public static void main(String[] args) {
String mainTag = "HI";
String replaceTag = "667";
String text = "92<HI=/><z==//HIb><cHIhi> ";
System.out.println(strFormatted(mainTag, replaceTag, text));
mainTag = "aBc";
replaceTag = "923";
text = "<dont replacethis>abcabc<abcabcde>";
System.out.println(strFormatted(mainTag, replaceTag, text));
}
private static String strFormatted(String mainTag, String replaceTag, String text) {
return text.replaceAll("(?i)(?<=<)" + mainTag + "(?=.*>)", replaceTag);
}
は、私がreplaceTag
ためmainTag
(変数)(変数)のみ内部タグ(<...>
)を交換したいです。私は667
と<...>
内のすべての出現に(大文字と小文字を区別しない)mainTag HI
を交換したい上記の例で
例:
92<HI=/><z==//HIb><cHIhi>
期待出力:
92<667=/><z==//667b><c667667>
(mainTag = "HI"、replaceTag = "667")
<dont replacethis>abcabc<abcabcde>
期待出力:
<dont replacethis>abcabc<923923de>
(mainTag = "aBc"、replaceTag = "923");
注:私のコードが間違っている、彼は唯一の1時間を置き換えるために「mainTag」は、他の言葉で、「<を」成功した場合にのみ動作するためだけでなく、後読みは唯一のユニークな状況のために働きます。
コードの書式設定(行の先頭に4つのスペースを入れたり、コードをバッククォートでラップする、つまり ')を使用して投稿してください。余分なものはこれを理解できないものにします。 –
'HIb'から' 667b'に変更することをお勧めしますが、 'replacethis'から' replacet667s'に 'hi'を変更することはできません。 – rock321987
@ rock321987もっとコードと情報を追加しました。 – developer033