Manipulation de chaînes Java : fonctions et méthodes avec EXEMPLE

Que sont les chaînes ?

En termes littéraux, une chaîne est une série de caractères. Hé, tu as dit caractères, n'est-ce pas un type de données primitif en Java. Oui, donc en termes techniques, la chaîne Java de base est essentiellement un tableau de caractères.

Donc ma chaîne ci-dessus de "ROSE" peut être représenté comme suitwing -

Chaîne Java

Pourquoi utiliser des chaînes ?

L’une des fonctions principales de l’informatique moderne est le traitement du langage humain.

De la même manière que les nombres sont importants pour les mathématiques, les symboles linguistiques sont importants pour la signification et la prise de décision. Bien qu’il ne soit pas visible pour les utilisateurs d’ordinateurs, les ordinateurs traitent le langage en arrière-plan avec autant de précision et d’exactitude qu’une calculatrice. Les boîtes de dialogue d'aide fournissent des instructions. Les menus offrent des choix. Et les affichages de données affichent les statuts, les erreurs et les modifications de langue en temps réel.

En tant que programmeur Java, l'un de vos principaux outils de stockage et de traitement du langage sera la classe String.

Exemples de syntaxe de chaîne

Passons maintenant à un peu de syntaxe, après tout, nous devons écrire cela en code Java, n'est-ce pas.

String est un tableau de caractères, représenté comme suit :

//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);

En termes techniques, la chaîne est définie comme suit dans l'exemple ci-dessus :

= new (argument);

Maintenant, nous ne pouvons toujours pas écrire nos chaînes sous forme de tableaux ; nous pouvons donc définir la chaîne en Java comme suit :

//Representation of String
String strSample_2 = "ROSE";

En termes techniques, ce qui précède est représenté comme suit :

= ;

La Classe de chaîne Java S'étend le Classe d'objet.

Concaténation de chaînes :

La concaténation est la jointure de deux ou plusieurs chaînes.

Jetez un oeil à l'image ci-dessous-

Exemples de syntaxe de chaîne

Nous avons deux chaînes str1 = « Rock » et str2 = « Star »

Si nous additionnons ces deux chaînes, nous devrions obtenir le résultat str3= « RockStar ».

Consultez l'extrait de code ci-dessous et il explique les deux méthodes pour effectuer la concaténation de chaînes.

La première consiste à utiliser «concat" La méthode de la classe String et la seconde utilise l'opérateur arithmétique « + ». Les deux résultats donnent le même résultat

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Méthodes de chaîne Java importantes :

Méthodes de chaîne Java

Posons quelques questions à la classe Java String et voyons si elle peut y répondre :

Méthode de « longueur » de chaîne

Comment allez-vous déterminer la longueur d’une chaîne donnée ? J'ai fourni une méthode appelée "longueur« . Utilisez-le contre la chaîne dont vous avez besoin pour trouver la longueur.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

Production attendue:

Length of String: 8

Méthode de chaîne « indexOf »

Si je connais la longueur, comment puis-je trouver quel personnage se trouve dans quelle position ? Bref, comment retrouver l'index d'un personnage ?

Vous avez répondu vous-même, mon pote, il existe une méthode « indexOf » qui vous aidera à déterminer l'emplacement d'un caractère spécifique que vous spécifiez.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Production attendue:

Character at position 5: t
Index of character 'S': 4

Méthode de chaîne « charAt »

Semblable à la question ci-dessus, étant donné l’index, comment puis-je connaître le personnage à cet endroit ?

Encore une fois simple !! Utilisez le "caractère" et fournissez l'index dont vous devez trouver le caractère.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

Production attendue:

Character at position 5: t

Méthode de chaîne « CompareTo »

Est-ce que je veux vérifier si la chaîne générée par une méthode est égale à quelque chose que je veux vérifier ? Comment comparer deux chaînes ?

Utilisez la méthode "comparer aux» et spécifiez la chaîne que vous souhaitez comparer.

Utilisez « compareToIgnoreCase » au cas où vous ne souhaiteriez pas que le résultat soit sensible à la casse.

Le résultat aura la valeur 0 si la chaîne d'argument est égale à cette chaîne ; une valeur inférieure à 0 si cette chaîne est lexicographiquement inférieure à l'argument chaîne ; et une valeur supérieure à 0 si cette chaîne est lexicographiquement supérieure à l'argument de chaîne.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Production attendue:

Compare To 'ROCKSTAR': -32
Compare To 'ROCKSTAR' - Case Ignored: 0

Méthode de chaîne « Contenir »

Je sais en partie ce que la chaîne aurait dû contenir, comment puis-je confirmer si la chaîne contient une séquence de caractères que je spécifie ?

Utilisez la méthode "contient» et précisez les caractères que vous devez vérifier.

Retours oui si et seulement si cette chaîne contient la séquence spécifiée de valeurs de caractères.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Production attendue:

Contains sequence 'tar': true

Méthode de chaîne « endsWith »

Comment puis-je confirmer si une chaîne se termine par un suffixe particulier ? Encore une fois, vous y avez répondu. Utilisez la méthode « endsWith » et spécifiez le suffixe dans les arguments.

Retours oui si la séquence de caractères représentée par l'argument est un suffixe de la séquence de caractères représentée par cet objet.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Production attendue:

EndsWith character 'r': true

Méthode de chaîne « replaceAll » et « replaceFirst »

Je souhaite modifier ma String à plusieurs endroits et remplacer plusieurs parties de la String ?

Méthodes Java String Replace, replaceAll et replaceFirst. Vous pouvez spécifier la partie de la chaîne que vous souhaitez remplacer et la chaîne de remplacement dans les arguments.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Production attendue:

Replace 'Rock' with 'Duke': DukeStar

Chaîne Java « tolowercase » et méthode Java « touppercase »

Je veux que ma chaîne entière soit affichée en minuscules ou en majuscules ?

Utilisez simplement les méthodes « toLowercase() » ou « ToUpperCase() » sur les chaînes qui doivent être converties.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Production attendue:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Points importants à noter:

  • String est une classe finale; c'est-à-dire qu'une fois créée, la valeur ne peut pas être modifiée. Ainsi, les objets String sont appelés immuables.
  • La machine virtuelle Java (JVM) crée un emplacement mémoire spécialement pour les chaînes appelé Pool de constantes de chaîne. C'est pourquoi String peut être initialisé sans le mot-clé 'new'.
  • La classe String relève de hiérarchie java.lang.String. Mais il n'est pas nécessaire d'importer cette classe. La plateforme Java les fournit automatiquement.
  • Chaîne la référence peut être remplacée mais cela ne supprime pas le contenu; c'est à dire, si

Chaîne h1 = « bonjour » ;

h1 = « bonjour » + « monde » ;

alors la chaîne « bonjour » n'est pas supprimée. Il perd juste sa poignée.

  • Références multiples peut être utilisé pour la même chaîne mais ce sera le cas se produisent au même endroit; c'est à dire, si

Chaîne h1 = « bonjour » ;

Chaîne h2 = « bonjour » ;

Chaîne h3 = « bonjour » ;

alors un seul pool pour String « hello » est créé dans la mémoire avec 3 références-h1,h2,h3

  • Si un le numéro est cité entre " " puis il devient une chaîne, plus un numéro. Cela veut dire si

Chaîne S1 = « Le nombre est : « + « 123 » + « 456 » ;

Système.ande.println(S1);

alors il affichera : Le numéro est : 123456

Si l'initialisation ressemble à ceci :

Chaîne S1 = « Le nombre est : « +(123+456) ;

System.out.println(S1);

alors il affichera : Le numéro est : 579

C'est tout pour Strings !