199 votes

Java ; Remplacer une chaîne de caractères (projet scolaire) ?

Dans le cadre d'un projet scolaire, je dois remplacer une chaîne de caractères à partir du formulaire :

5 * x^3 - 6 * x^1 + 1

à quelque chose comme :

5x<sup>3</sup> - 6x<sup>1</sup> + 1

Je pense que cela peut être fait avec des expressions régulières, mais je ne sais pas encore comment le faire.

Pouvez-vous me donner un coup de main ?

P.S. La mission actuelle est d'implémenter une application Java de traitement des polynômes, et je l'utilise pour passer polynomial.toString() du modèle à la vue, et je veux l'afficher en utilisant des balises html d'une manière attrayante.

247voto

Can Berk Güder Points 39887
str.replaceAll("\\^([0-9]+)", "<sup>$1</sup>");

60voto

Florian Points 11
private String removeScript(String content) {
    Pattern p = Pattern.compile("<script[^>]*>(.*?)</script>",
            Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
    return p.matcher(content).replaceAll("");
}

31voto

TofuBeer Points 32441

Puisqu'il s'agit d'un travail à domicile, voici quelques conseils pour vous aider à démarrer.

Testeur d'expressions rationnelles en ligne

JavaDoc pour la méthode String.replaceAll

JavaDoc pour les motifs regex de Java

23voto

Hubbison Points 31
String input = "hello I'm a java dev" +
"no job experience needed" +
"senior software engineer" +
"java job available for senior software engineer";

String fixedInput = input.replaceAll("(java|job|senior)", "<b>$1</b>");

13voto

vit123 Points 121
"5 * x^3 - 6 * x^1 + 1".replaceAll("\\W*\\*\\W*","").replaceAll("\\^(\\d+)","<sup>$1</sup>");

Veuillez noter que le fait de joindre les deux remplacements dans une seule regex/remplacement serait un mauvais choix car des expressions plus générales telles que x^3 - 6 * x échouerait.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X