Maison  >  Article  >  Java  >  Déplacez toutes les lettres majuscules à la fin de la chaîne à l'aide de l'expression régulière Java

Déplacez toutes les lettres majuscules à la fin de la chaîne à l'aide de l'expression régulière Java

王林
王林avant
2023-08-25 13:21:20985parcourir

La sous-expression

Déplacez toutes les lettres majuscules à la fin de la chaîne à laide de lexpression régulière Java

"[ ]" correspond à tous les caractères spécifiés entre parenthèses. Ainsi, pour déplacer toutes les lettres majuscules à la fin de la chaîne, vous devez effectuer les étapes suivantes :

  • Parcourez tous les caractères de la chaîne donnée.

  • Utilisez l'expression régulière "[A-Z]" pour faire correspondre toutes les lettres majuscules de la chaîne donnée.

  • Concaténez les caractères spéciaux et les caractères restants en deux chaînes différentes.

  • Enfin, concaténez la chaîne de caractères spéciaux dans une autre chaîne.

Exemple 1

public class RemovingSpecialCharacters {
   public static void main(String args[]) {
      String input = "sample B text C with G upper case LM characters in between";
      String regex = "[A-Z]";
      String specialChars = "";
      String inputData = "";
      for(int i=0; i< input.length(); i++) {
         char ch = input.charAt(i);
         if(String.valueOf(ch).matches(regex)) {
            specialChars = specialChars + ch;
         } else {
            inputData = inputData + ch;
         }
      }
      System.out.println("Result: "+inputData+specialChars);
   }
}

Output

Result: sample text with upper case characters in betweenBCGLM

Exemple 2

Ce qui suit est un programme Java qui utilise la méthode du package Regex pour déplacer les lettres majuscules de une chaîne jusqu'à la fin.

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String args[]) {
      String input = "sample B text C with G upper case LM characters in between";
      String regex = "[A-Z]";
      String specialChars = "";
      System.out.println("Input string: \n"+input);
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      //Creating an empty string buffer
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         specialChars = specialChars+matcher.group();
         matcher.appendReplacement(sb, "");
      }
      matcher.appendTail(sb);
      System.out.println("Result: \n"+ sb.toString()+specialChars );
   }
}

Sortie

Input string:
sample B text C with G upper case LM characters in between
Result:
sample text with upper case characters in betweenBCGLM

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer