Texte original :
片仔癀(603567.SH)、 天士力(600535.SH)、 片仔癀(603567.SH) 和昆药集团(600422.SH)等。
remplacer par :
片仔癀(603567.SH)、 天士力(600535.SH)、 片仔癀(603567.SH) 和昆药集团(600422.SH)等。
Vous pouvez désormais utiliser des expressions régulières pour remplacer le texte cible, mais le numéro de série ne peut pas être complété (ne peut pas être bouclé)
Pattern pattern = Pattern.compile("()(.*?)()"); Matcher matcher = pattern.matcher(str); int i=0; while (matcher.find()) { System.out.println(matcher.replaceAll(matcher.group(1) + "" + matcher.group(3) + "" + matcher.group(4))); i++; }
Il y a trop de problèmes dans votre code
De plus, la balise a n'est-elle pas terminée
?Référencez ceci :
https://stackoverflow.com/que...
Essayez de mettre
replaceAll
换成replaceFirst
,每次只替换第一个,然后累加i
.Changez "a" dans la balise par ', essayez-le