Expression régulière - Java : remplacement de chaîne par un nombre ordinal
仅有的幸福
仅有的幸福 2017-06-30 09:56:29
0
3
941

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++; }
仅有的幸福
仅有的幸福

répondre à tous (3)
刘奇

Il y a trop de problèmes dans votre code

String str="片仔癀(603567.SH)、"+ "天士力(600535.SH)、"+ "片仔癀(603567.SH)"+ "和昆药集团(600422.SH)等。"; String patternStr="()(\d+)"; Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(str); String strResult=str; int i=0; while (matcher.find()) { i++; String replaceTo=matcher.group(1)+ ""+matcher.group(2)+""; strResult=strResult.replaceFirst(patternStr, replaceTo); } System.out.println(strResult); /* 输出: 片仔癀(603567.SH)、天士力(600535.SH)、片仔癀(603567.SH)和昆药集团(600422.SH)等。 * */

De plus, la balise a n'est-elle pas terminée

?
    给我你的怀抱

    Référencez ceci :
    https://stackoverflow.com/que...

    Essayez de mettrereplaceAll换成replaceFirst,每次只替换第一个,然后累加i.

      巴扎黑

      Changez "a" dans la balise par ', essayez-le

        Derniers téléchargements
        Plus>
        effets Web
        Code source du site Web
        Matériel du site Web
        Modèle frontal
        À propos de nous Clause de non-responsabilité Sitemap
        Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!