5 façons de manipuler des chaînes en Java

Table des matières:

5 façons de manipuler des chaînes en Java
5 façons de manipuler des chaînes en Java

Vidéo: 5 façons de manipuler des chaînes en Java

Vidéo: 5 façons de manipuler des chaînes en Java
Vidéo: Microsoft Access : Créer un Formulaire d'authentification 2024, Avril
Anonim

Les chaînes sont des séquences de caractères. Par exemple, "Bonjour !" est une chaîne car elle est composée des caractères 'H', 'e', 'l', 'l', 'o' et '!'. En Java, les chaînes sont des objets, ce qui signifie qu'il existe une classe String qui a des champs et des méthodes. Nous pouvons utiliser les méthodes de la classe String pour manipuler des chaînes.

Pas

Méthode 1 sur 5: Créer une chaîne

3016567 1 1
3016567 1 1

Étape 1. Créez une chaîne à l'aide du constructeur de la classe String

    String str = new String("Bonjour !");

3016567 2 1
3016567 2 1

Étape 2. Créez une chaîne en attribuant directement une chaîne

3016567 3 1
3016567 3 1

Étape 3. Essayez un exemple

Voici un exemple de programme qui crée une chaîne de deux manières différentes.

    public class StringManipulation { public static void main(String args) { String str1 = new String("Chaîne créée avec un constructeur!"); String str2 = "Chaîne créée sans constructeur !"; System.out.println(str1); System.out.println(str2); } }

Méthode 2 sur 5: Trouver la longueur d'une chaîne

Étape 1. Comprenez ce que signifie trouver la longueur d'une chaîne

La longueur d'une chaîne est le nombre de caractères que la chaîne contient. Par exemple, la longueur de la chaîne "Hello!" est 6 car il a 6 caractères.

3016567 5 1
3016567 5 1

Étape 2. Appelez le

longueur()

sur l'objet String et stockez le résultat dans une variable entière.

    int strLength = str.length();

3016567 6 1
3016567 6 1

Étape 3. Essayez-le

Voici un exemple de programme qui trouve la longueur d'une chaîne.

    public class StringManipulation { public static void main(String args) { String str = "Bonjour!"; int strLength = str.length(); System.out.println("La longueur de \"" + str + "\" est " + strLength + "."); } }

Méthode 3 sur 5: Inverser une chaîne

3016567 7
3016567 7

Étape 1. Comprenez ce que signifie inverser une chaîne

Inverser une chaîne signifie changer l'ordre des caractères dans une chaîne. Par exemple, l'inverse de la chaîne "Hello!" est "!olleH". Il existe de nombreuses façons d'inverser une chaîne en Java.

3016567 8 1
3016567 8 1

Étape 2. Utilisez la méthode inverse de la classe StringBuffer

Créez un objet StringBuffer qui prend la chaîne que vous souhaitez inverser en tant que paramètre. Utilisez la méthode reverse() de StringBuffer, puis récupérez la nouvelle chaîne inversée à l'aide de la méthode toString().

    public class StringManipulation { public static void main(String args) { String str = "Bonjour!"; Tampon StringBuffer = new StringBuffer(str); String reversedStr = buffer.reverse().toString(); System.out.println("L'inverse de la chaîne \"" + str + "\" est \"" + reversedStr + "\"."); } }

3016567 9 1
3016567 9 1

Étape 3. Parcourez les caractères d'une chaîne en sens inverse, en ajoutant ces caractères à un StringBuffer à chaque itération

Créez un nouvel objet StringBuffer initialisé avec la longueur de la chaîne que vous souhaitez inverser en tant que paramètre. Ensuite, utilisez une boucle for pour parcourir la chaîne, en commençant par le dernier caractère de la chaîne et en se terminant au premier caractère de la chaîne. À chaque itération, ajoutez le caractère à cet index au StringBuffer. Récupérez la chaîne nouvellement inversée à l'aide de la méthode toString().

    public class StringManipulation { public static void main(String args) { String str = "Bonjour!"; Tampon StringBuffer = new StringBuffer(str.length()); for (int i = str.length() - 1; i >= 0; i--) { buffer.append(str.charAt(i)); } Chaîne reversedStr = buffer.toString(); System.out.println("L'inverse de la chaîne \"" + str + "\" est \"" + reversedStr + "\"."); } }

3016567 10 1
3016567 10 1

Étape 4. Écrivez une fonction récursive pour inverser la chaîne

Dans la fonction récursive, le cas/condition de base est si la chaîne est nulle ou si la longueur de la chaîne est inférieure ou égale à aucune. Sinon, la méthode reverse() est appelée à nouveau avec la chaîne moins le premier caractère, et le premier caractère est ajouté à la fin. Donc, si nous avons passé la chaîne "Hello!", le premier appel reverse() après cela aura le paramètre "ello!".

    public class StringManipulation { public static void main(String args) { String str = "Bonjour!"; Chaîne reversedStr = reverse(str); System.out.println("L'inverse de la chaîne \"" + str + "\" est \"" + reversedStr + "\"."); } private static String reverse(String str) { if (str == null || str.length() <= 1) return str; return reverse(str.substring(1)) + str.charAt(0); } }

3016567 11 1
3016567 11 1

Étape 5. Convertissez la chaîne en un tableau de caractères, puis permutez le premier et le dernier, le deuxième et l'avant-dernier, etc

personnages. Convertissez d'abord la chaîne en un tableau de caractères en utilisant la méthode toCharArray() sur la chaîne. Obtient l'index du dernier caractère du tableau, qui est égal à la longueur du tableau moins un. Ensuite, parcourez le tableau, en échangeant le ie caractère et l'indexOfLastChar - ie caractère à chaque itération. Enfin, reconvertissez le tableau de caractères en chaîne.

    public class StringManipulation { public static void main(String args) { String str = "Bonjour!"; char charArray = str.toCharArray(); int indexOfLastChar = charArray.length - 1; for (int i = 0; i < charArray.length/2; i++) { char temp = charArray; tableauchar = tableauchar[indexOfLastChar - i]; tableauchar[indexOfLastChar - i] = temp; } String reversedStr = new String(charArray); System.out.println("L'inverse de la chaîne \"" + str + "\" est \"" + reversedStr + "\"."); } }

3016567 12 1
3016567 12 1

Étape 6. Passez en revue votre sortie

Voici la sortie qui résulte de l'une de ces méthodes d'inversion de chaîne.

Méthode 4 sur 5: Couper l'espace blanc dans une chaîne

3016567 13
3016567 13

Étape 1. Comprenez ce que signifie couper l'espace blanc dans une chaîne

Couper une chaîne en Java signifie supprimer l'espace blanc de début et de fin dans la chaîne. Par exemple, si vous avez la chaîne"

Bonjour le monde!

" et vous voulez qu'il dise "Hello, world!" sans l'espace blanc au début et à la fin, vous pouvez couper la chaîne. La classe String fournit une méthode pour trim() qui renvoie une copie de la chaîne avec les espaces blancs de début et de fin ont été supprimés ou la chaîne d'origine si elle n'a pas d'espace blanc de début ou de fin.

3016567 14 1
3016567 14 1

Étape 2. Utilisez la méthode trim() de la classe String sur un objet String pour rogner l'espace blanc

Notez que la méthode trim() lèvera une exception si la chaîne est nulle. La méthode trim() ne modifiera pas le contenu de la chaîne d'origine car les chaînes en Java sont immuables, ce qui signifie que l'état d'une chaîne ne peut pas être modifié après sa création. Au lieu de cela, la méthode trim() renverra une nouvelle chaîne dont les espaces blancs ont été supprimés.

    Chaîne trimmedStr = str.trim();

Étape 3. Essayez un exemple

Voici un exemple de programme qui supprime l'espace blanc d'une chaîne:

    public class StringManipulation { public static void main(String args) { String str = " Bonjour ! "; Chaîne trimmedStr = str.trim(); System.out.println("La chaîne d'origine est \"" + str + "\"."); System.out.println("La chaîne découpée est \"" + trimmedStr + "\"."); } }

Méthode 5 sur 5: Diviser une chaîne

3016567 16
3016567 16

Étape 1. Comprenez ce que signifie diviser une chaîne

Diviser une chaîne en Java signifie diviser une chaîne par un certain délimiteur en un tableau de sous-chaînes. Par exemple, si je divise la chaîne "rouge, bleu, vert, jaune, rose" avec une virgule comme délimiteur, j'obtiendrais le tableau { "rouge", "bleu", "vert", "jaune", "rose " }. Voici trois façons différentes de diviser une chaîne.

3016567 17 1
3016567 17 1

Étape 2. Utilisez

StringTokenizer

pour tokeniser la chaîne.

Importer

java.util. StringTokenizer

. Créez ensuite une nouvelle instance d'un

StringTokenizer

avec la chaîne à tokeniser et le délimiteur comme paramètres. Si vous n'entrez pas le délimiteur comme paramètre, le délimiteur sera automatiquement par défaut un espace blanc. Après avoir le

StringTokenizer

vous pouvez utiliser le

jeton suivant()

méthode pour obtenir chaque jeton.

    importer java.util. Arrays; importer java.util. StringTokenizer; public class StringManipulation { public static void main(String args) { String str = "rouge, vert, bleu, jaune, rose"; StringTokenizer tokenizer = new StringTokenizer(str, ", "); int numberOfTokens = tokenizer.countTokens(); String splitArr = new String[numberOfTokens]; for (int i = 0; i < numberOfTokens; i++) { splitArr = tokenizer.nextToken(); } System.out.println("\nChaîne d'origine: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

  • Avant Java 1.4, le

    StringTokenizer

    class a été utilisé pour diviser des chaînes en Java. Mais maintenant, l'utilisation de

    StringTokenizer

    est déconseillée et l'utilisation du

    diviser()

    méthode dans le

    Chaîne de caractères

    classe ou l'utilisation du

    java.util.regex

  • paquet est encouragé.
3016567 18 1
3016567 18 1

Étape 3. Utilisez le

Chaîne de caractères

la classe

diviser()

méthode.

Les

diviser()

La méthode prendra le délimiteur comme paramètre et renverra un tableau de sous-chaînes identiques aux jetons du

StringTokenizer

    importer java.util. Arrays; public class StringManipulation { public static void main(String args) { String str = "rouge, vert, bleu, jaune, rose"; String splitArr = str.split(", "); System.out.println("\nChaîne d'origine: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

3016567 19 1
3016567 19 1

Étape 4. Utilisez des expressions régulières pour diviser la chaîne

Importer

java.util.regex. Pattern

. Utilisez le

compiler()

méthode de la

Modèle

class pour définir le délimiteur, puis donner le

diviser()

method la chaîne que vous souhaitez diviser. Les

Modèle

retournera un tableau de sous-chaînes.

    importer java.util. Arrays; importer java.util.regex. Pattern; public class StringManipulation { public static void main(String args) { String str = "rouge, vert, bleu, jaune, rose"; String splitArr = Pattern.compile(", ").split(str); System.out.println("\nChaîne d'origine: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

3016567 20 1
3016567 20 1

Étape 5. Passez en revue votre sortie

Voici la sortie qui résulte de l'une de ces méthodes pour diviser les chaînes.

Conseillé: