Passer au contenu du pied de page
AIDE JAVA

Comment utiliser Substring en Java

Bienvenue dans un guide convivial pour débutants sur l'utilisation de la méthode substring en Java. En tant que développeur et éducateur Java, je vise à vous aider à comprendre comment travailler efficacement avec des parties de chaînes en Java. Les chaînes, ou séquences de caractères, sont fondamentales pour la programmation en Java. La méthode substring se comporte de manière unique lorsqu'on travaille avec une chaîne vide. Si la chaîne d'origine est vide et qu'aucun index n'est fourni, la méthode retourne une chaîne vide. Ce guide décomposera tout ce que vous devez savoir pour commencer avec les sous-chaînes en Java, y compris des exemples pratiques avec la bibliothèque IronPDF Java conçue pour la génération et la manipulation de PDF.

Qu'est-ce qu'une chaîne en Java ?

Avant de plonger dans les sous-chaînes, il est crucial de comprendre ce qu'est une chaîne dans le contexte de la programmation Java. Une chaîne en Java est un objet qui représente une série de caractères. La classe String en Java fournit diverses méthodes pour manipuler cette séquence de caractères, comme ajouter deux chaînes ensemble, comparer des chaînes ou, comme nous nous concentrerons ici, extraire une sous-chaîne.

La méthode Substring expliquée

La méthode substring des chaînes en Java fait partie de la classe String en Java. Elle est conçue pour créer une nouvelle chaîne à partir d'une partie d'une chaîne existante. Java propose deux manières principales de le faire :

  • public String substring(int beginIndex) : Cette méthode crée une nouvelle chaîne commençant à partir de l'beginIndex jusqu'à la fin de la chaîne d'origine. Il est important de noter que l'index de la chaîne en Java commence à 0.
  • public String substring(int beginIndex, int endIndex) : Cette version crée une nouvelle chaîne à partir de l'beginIndex et va jusqu'à mais n'inclut pas l'endIndex.

Créer de nouveaux objets String avec substring

Lorsque vous utilisez la méthode substring, Java ne modifie pas votre chaîne d'origine. Au lieu de cela, il crée un nouvel objet chaîne qui contient les caractères de la plage d'index spécifiée de la chaîne d'origine.

Exemple pratique : Extraction de sous-chaînes

Mettons la théorie en pratique avec un simple programme Java :

public class SubstringDemo {
    public static void main(String[] args) {
        String greeting = "Hello, world!";
        // Extracting substring from index 7 to the end
        String world = greeting.substring(7);
        System.out.println(world); // Outputs "world!"

        // Extracting substring from index 0 to 4 (exclusive)
        String hello = greeting.substring(0, 5);
        System.out.println(hello); // Outputs "Hello"
    }
}
public class SubstringDemo {
    public static void main(String[] args) {
        String greeting = "Hello, world!";
        // Extracting substring from index 7 to the end
        String world = greeting.substring(7);
        System.out.println(world); // Outputs "world!"

        // Extracting substring from index 0 to 4 (exclusive)
        String hello = greeting.substring(0, 5);
        System.out.println(hello); // Outputs "Hello"
    }
}
JAVA

Dans cet exemple, world contiendra la sous-chaîne commençant à l'index 7 jusqu'à la fin, et hello contiendra la sous-chaîne de l'index 0 à 4. Cela démontre comment utiliser les deux formes de la méthode substring pour extraire différentes parties d'une chaîne.

Méthode Substring Java (Comment elle fonctionne pour les développeurs) : Figure 1 - Sortie console du code précédent

Manipulation avancée des chaînes

Au-delà de l'extraction de simples sous-chaînes, la méthode substring peut être puissante dans des scénarios plus complexes, comme comparer des parties de chaînes, vérifier des palindromes ou travailler avec des chaînes dans différentes localités.

Comparaison des régions de chaînes

Parfois, vous pourriez avoir besoin de comparer des parties spécifiques de deux chaînes plutôt que les chaînes elles-mêmes en entier. La méthode substring de Java est très pratique dans de tels scénarios. Voici comment vous pourriez le faire :

public class CompareRegionsDemo {
    public static void main(String[] args) {
        String str1 = "Hello, world!";
        String str2 = "Hello, Java!";

        // Extracting substrings to compare
        String subStr1 = str1.substring(7);
        String subStr2 = str2.substring(7);

        // Comparing extracted substrings
        if (subStr1.equals(subStr2)) {
            System.out.println("The substrings match.");
        } else {
            System.out.println("The substrings do not match.");
        }
    }
}
public class CompareRegionsDemo {
    public static void main(String[] args) {
        String str1 = "Hello, world!";
        String str2 = "Hello, Java!";

        // Extracting substrings to compare
        String subStr1 = str1.substring(7);
        String subStr2 = str2.substring(7);

        // Comparing extracted substrings
        if (subStr1.equals(subStr2)) {
            System.out.println("The substrings match.");
        } else {
            System.out.println("The substrings do not match.");
        }
    }
}
JAVA

Ce programme extrait des sous-chaînes de deux chaînes différentes et les compare. Il démontre comment vous pouvez vous concentrer sur des régions spécifiques de chaînes qui vous intéressent, plutôt que de comparer des chaînes entières.

Méthode Substring Java (Comment elle fonctionne pour les développeurs) : Figure 2 - Sortie console de l'exécution du code précédent

Localisation avec des sous-chaînes

Lorsqu'on traite d'internationalisation, vous pouvez avoir besoin de présenter ou de manipuler des chaînes différemment selon la locale de l'utilisateur. Voici un exemple simple de comment formater une chaîne en utilisant substring basé sur un format prédéfini.

public class LocalizationDemo {
    public static void main(String[] args) {
        String greeting = "Hello, world! Bonjour, monde! Hola, mundo!";

        // Assuming we know the positions of each localized greeting
        String englishGreeting = greeting.substring(0, 13);
        String frenchGreeting = greeting.substring(15, 28);
        String spanishGreeting = greeting.substring(30);

        System.out.println(englishGreeting); // Outputs "Hello, world!"
        System.out.println(frenchGreeting);  // Outputs "Bonjour, monde!"
        System.out.println(spanishGreeting);  // Outputs "Hola, mundo!"
    }
}
public class LocalizationDemo {
    public static void main(String[] args) {
        String greeting = "Hello, world! Bonjour, monde! Hola, mundo!";

        // Assuming we know the positions of each localized greeting
        String englishGreeting = greeting.substring(0, 13);
        String frenchGreeting = greeting.substring(15, 28);
        String spanishGreeting = greeting.substring(30);

        System.out.println(englishGreeting); // Outputs "Hello, world!"
        System.out.println(frenchGreeting);  // Outputs "Bonjour, monde!"
        System.out.println(spanishGreeting);  // Outputs "Hola, mundo!"
    }
}
JAVA

Cet exemple démontre l'extraction de salutations spécifiques basées sur un format prédéfini et pourrait être adapté pour sélectionner une salutation basée sur la locale spécifiée de l'utilisateur.

Méthode Substring Java (Comment elle fonctionne pour les développeurs) : Figure 3 - Sortie console de l'exemple de code précédent

Vérification des palindromes

Un palindrome est une séquence de caractères, comme un mot, une phrase ou un nombre qui se lit de la même façon à l'endroit et à l'envers, sans tenir compte des espaces, de la ponctuation et de la capitalisation. Voici comment vous pourriez utiliser la méthode substring pour vérifier si une chaîne donnée est un palindrome :

public class PalindromeCheck {
    public static void main(String[] args) {
        String line = "A man a plan a canal Panama";
        System.out.println("Is palindrome? " + checkPalindrome(line));
    }

    private static boolean checkPalindrome(String str) {
        // Removing all non-letter characters and converting to lowercase
        str = str.replaceAll("[^a-zA-Z]", "").toLowerCase();
        int length = str.length();

        // Checking if characters at each index are equal to their counterparts
        for (int i = 0; i < length / 2; i++) {
            if (str.charAt(i) != str.charAt(length - 1 - i)) {
                return false;
            }
        }
        return true;
    }
}
public class PalindromeCheck {
    public static void main(String[] args) {
        String line = "A man a plan a canal Panama";
        System.out.println("Is palindrome? " + checkPalindrome(line));
    }

    private static boolean checkPalindrome(String str) {
        // Removing all non-letter characters and converting to lowercase
        str = str.replaceAll("[^a-zA-Z]", "").toLowerCase();
        int length = str.length();

        // Checking if characters at each index are equal to their counterparts
        for (int i = 0; i < length / 2; i++) {
            if (str.charAt(i) != str.charAt(length - 1 - i)) {
                return false;
            }
        }
        return true;
    }
}
JAVA

Ce code nettoie la chaîne d'entrée en supprimant les caractères non-lettres et en la convertissant en minuscules. Il vérifie ensuite si le caractère à chaque position depuis le début correspond au caractère correspondant depuis la fin.

Méthode Substring Java (Comment elle fonctionne pour les développeurs) : Figure 4 - Sortie console du code précédent

Introduction à IronPDF pour Java

Méthode Substring Java (Comment elle fonctionne pour les développeurs) : Figure 5 - Page Web IronPDF pour Java

Découvrez les fonctionnalités d'IronPDF Java - Une puissante bibliothèque conçue pour simplifier le processus de création, d'édition et de gestion de documents PDF au sein d'applications Java. Cette bibliothèque offre aux développeurs un ensemble de fonctionnalités étendues pour manipuler les fichiers PDF, y compris la génération de documents PDF à partir de HTML, la gestion des formulaires, l'ajout d'images et de texte, ainsi que la sécurisation des documents avec le chiffrement et les autorisations. Son API simple et sa documentation complète la rendent accessible tant aux débutants qu'aux développeurs expérimentés pour intégrer des fonctionnalités PDF dans leurs projets Java.

Créer un document PDF

Créons un exemple simple qui démontre l'utilisation d'IronPDF pour Java en conjonction avec le concept de sous-chaîne en Java. Dans cet exemple, nous allons générer un document PDF à partir d'une chaîne HTML. Nous ajouterons ensuite un élément de texte au PDF, en utilisant une sous-chaîne d'une plus grande chaîne pour illustrer l'intégration des capacités de substring de Java.

Ajouter IronPDF pour Java à votre projet

Vous ajouteriez IronPDF pour Java à votre pom.xml. Vous devez ajouter la dépendance d'IronPDF pour Java et de Slf4j. Voici comment vous pouvez le faire très facilement.

<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2024.1.1</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.3</version>
</dependency>
<dependency>
   <groupId>com.ironsoftware</groupId>
   <artifactId>ironpdf</artifactId>
   <version>2024.1.1</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>2.0.3</version>
</dependency>
XML

Cependant, vous pouvez télécharger IronPDF pour Java manuellement à partir du dépôt Sonatype.

Générer un PDF en utilisant la méthode Substring

Il est maintenant temps d'écrire du code dans le fichier App.java. Créons un document PDF simple et ajoutons-lui du texte, démontrant comment intégrer des méthodes substring dans ce processus :

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
import java.awt.print.PrinterException;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("License Key");

        // Example longer string to demonstrate substring usage
        String longString = "IronPDF for Java simplifies PDF generation from HTML content.";
        // Extracting a substring
        String substring = longString.substring(0, 25); // "IronPDF for Java simplifies"

        // Crafting HTML content with the substring
        String htmlContent = "<h1>" + substring + "</h1>" +
                "<p>This PDF document demonstrates generating a PDF from HTML content, including dynamic text from Java strings.</p>";

        // Render HTML as a PDF document
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
        pdf.saveAs(Paths.get("f:\\IronPdf\\html.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
import java.awt.print.PrinterException;

public class App {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("License Key");

        // Example longer string to demonstrate substring usage
        String longString = "IronPDF for Java simplifies PDF generation from HTML content.";
        // Extracting a substring
        String substring = longString.substring(0, 25); // "IronPDF for Java simplifies"

        // Crafting HTML content with the substring
        String htmlContent = "<h1>" + substring + "</h1>" +
                "<p>This PDF document demonstrates generating a PDF from HTML content, including dynamic text from Java strings.</p>";

        // Render HTML as a PDF document
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);
        pdf.saveAs(Paths.get("f:\\IronPdf\\html.pdf"));
    }
}
JAVA

Après extraction d'une sous-chaîne d'une chaîne plus longue, vous pouvez l'incorporer sans problème dans le document PDF, garantissant une représentation cohérente des chaînes dans le contenu PDF généré. Ce code démontre les bases de la création d'un document PDF avec IronPDF pour Java, y compris la génération de contenu à partir de HTML et l'incorporation de la fonctionnalité substring de Java pour manipuler et ajouter du texte au PDF. Après avoir exécuté ce code, vous aurez un PDF nommé "html.pdf" dans le répertoire spécifié.

Sortie

Voici le PDF généré par le code ci-dessus :

Méthode Substring Java (Comment elle fonctionne pour les développeurs) : Figure 6 - PDF généré par le code précédent

C'est exactement comme ce que nous avons défini dans notre code. Nous avons ajouté du contenu au PDF en utilisant la méthode Substring de Java. C'est une belle combinaison d'IronPDF et de la méthode Substring. Vous pouvez faire beaucoup en utilisant cette combinaison.

Conclusion

En intégrant ces fonctionnalités Java IronPDF avec les puissantes capacités de manipulation de chaînes de Java, telles que la méthode substring, vous pouvez créer des applications de traitement PDF sophistiquées. Ce guide a fourni une compréhension de base du travail avec les PDFs en Java et a montré comment incorporer des manipulations de sous-chaînes dans vos projets PDF. Expérimentez avec ces exemples et explorez davantage pour débloquer tout le potentiel de la manipulation de PDF en Java.

IronPDF pour Java offre un essai gratuit pour les développeurs afin d'explorer ses capacités. Les licences pour IronPDF commencent à partir de $799, fournissant des solutions complètes de génération de PDF pour les projets Java.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite