AIDE .NET

C# Split String (Comment ça marche pour les développeurs)

Publié août 29, 2023
Partager:

Que vous soyez un débutant en programmation ou un développeur C# en herbe, comprendre comment diviser les chaînes de caractères est une compétence fondamentale qui peut grandement améliorer vos capacités de codage. Dans ce tutoriel, nous allons nous plonger dans la manipulation des scissions en C#.

Introduction au découpage des chaînes de caractères

En programmation, une chaîne est une séquence de caractères et, dans certains cas, il peut être nécessaire de la diviser en parties plus petites en fonction d'un séparateur ou d'un délimiteur spécifique. Ce processus est connu sous le nom de string splitting, une technique essentielle pour traiter les données textuelles. Imaginez que vous ayez une phrase et que vous souhaitiez la séparer en mots individuels - c'est un exemple classique de découpage de chaîne.

En C#, la fonction String.Split() est l'outil idéal pour cette tâche. La méthode Split permet de diviser une chaîne de caractères en un tableau de sous-chaînes en fonction d'un séparateur donné. Examinons les différents aspects de l'utilisation efficace de cette méthode.

Utilisation de la fonction String.Split()

Fractionnement de base des chaînes de caractères

L'utilisation la plus simple de la fonction String.Split()la méthode consiste à fournir un séparateur à un seul caractère. Voici comment diviser une phrase en mots :

string sentence = "Hello, world! Welcome to C# programming.";
char separator = ' '; // Space character
string[] words = sentence.Split(separator); // returned array
string sentence = "Hello, world! Welcome to C# programming.";
char separator = ' '; // Space character
string[] words = sentence.Split(separator); // returned array
Dim sentence As String = "Hello, world! Welcome to C# programming."
Dim separator As Char = " "c ' Space character
Dim words() As String = sentence.Split(separator) ' returned array
VB   C#

Dans cet exemple, la phrase est divisée en un tableau de chaînes, chaque élément représentant un mot. Le séparateur est ici un espace. Vous pouvez ajuster le caractère séparateur pour diviser la chaîne en fonction de différents critères, comme les virgules, les points-virgules ou tout autre caractère de votre choix.

Gestion des éléments de tableau vides

Parfois, lorsqu'une chaîne de caractères est scindée, vous pouvez rencontrer des scénarios dans lesquels des séparateurs consécutifs conduisent à des éléments de tableau vides. Prenons par exemple la chaîne de caractères apple,,banana,orange. Si vous divisez ce tableau en utilisant une virgule comme séparateur, vous obtiendrez un tableau contenant des éléments vides entre les virgules consécutives.

Pour gérer cela, vous pouvez utiliser l'option StringSplitOptions.RemoveEmptyEntries :

string fruits = "apple,,banana,orange";
char separator = ',';

string[] fruitArray = fruits.Split(new char[] { separator }, StringSplitOptions.RemoveEmptyEntries); // stringsplitoptions options
string fruits = "apple,,banana,orange";
char separator = ',';

string[] fruitArray = fruits.Split(new char[] { separator }, StringSplitOptions.RemoveEmptyEntries); // stringsplitoptions options
Dim fruits As String = "apple,,banana,orange"
Dim separator As Char = ","c

Dim fruitArray() As String = fruits.Split(New Char() { separator }, StringSplitOptions.RemoveEmptyEntries) ' stringsplitoptions options
VB   C#

Avec cette option, les éléments vides du tableau causés par des séparateurs consécutifs seront automatiquement supprimés du tableau résultant.

Fractionnement à l'aide de délimiteurs multiples

Dans des scénarios plus complexes, vous pouvez avoir besoin de diviser une chaîne en utilisant plusieurs caractères comme délimiteurs. Imaginez que vous ayez une chaîne de caractères comme apple;banana orange et que vous souhaitiez la diviser en utilisant des points-virgules et des espaces comme séparateurs.

Pour ce faire, vous pouvez utiliser la fonction string.Split() avec le paramètre params char :

string fruits = "apple;banana orange";
char[] separators = { ';', ' ' };
// split string delimited
string[] fruitArray = fruits.Split(separators);
string fruits = "apple;banana orange";
char[] separators = { ';', ' ' };
// split string delimited
string[] fruitArray = fruits.Split(separators);
Dim fruits As String = "apple;banana orange"
Dim separators() As Char = { ";"c, " "c }
' split string delimited
Dim fruitArray() As String = fruits.Split(separators)
VB   C#

Cela donnera un tableau avec trois éléments : pomme, banane et orange

Limiter le nombre de sous-chaînes

Dans certains cas, vous pouvez vouloir diviser une chaîne en un nombre limité de sous-chaînes. Cela peut s'avérer utile lorsque vous traitez de longues chaînes de caractères ou lorsque vous n'êtes intéressé que par un nombre spécifique de segments. La fonction String.Split()la méthode vous permet de spécifier le nombre maximum de sous-chaînes à générer :

string longString = "one,two,three,four,five";
char separator = ',';
int maxSubstrings = 3;

string[] firstThreeItems = longString.Split(separator, maxSubstrings);
string longString = "one,two,three,four,five";
char separator = ',';
int maxSubstrings = 3;

string[] firstThreeItems = longString.Split(separator, maxSubstrings);
Dim longString As String = "one,two,three,four,five"
Dim separator As Char = ","c
Dim maxSubstrings As Integer = 3

Dim firstThreeItems() As String = longString.Split(separator, maxSubstrings)
VB   C#

Avec le paramètre maxSubstrings fixé à 3, le tableau résultant contiendra one,two,etthree.La partie restante de la chaîne de caractères(quatre,cinq`) reste intacte.

Création de votre extension de séparation de chaînes de caractères

Alors que la fonction intégrée String.Split() couvre la plupart de vos besoins en matière de découpage de chaînes, vous pouvez également créer votre propre méthode d'extension pour adapter la fonctionnalité à vos besoins. Supposons que vous souhaitiez diviser une chaîne en fonction d'une sous-chaîne spécifique plutôt que d'un seul caractère. Voici comment procéder :

using System;

namespace StringSplitExtension
{
    public static class StringExtensions
    {
        public static string[] SplitBySubstring(this string input, string s)
        {
            return input.Split(new string[] { s }, StringSplitOptions.None);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string text = "apple+banana+orange";
            string separator = "+";

            string[] result = text.SplitBySubstring(separator);
            foreach (string item in result)
            {
                Console.WriteLine(item);
            }
        }
    }
}
using System;

namespace StringSplitExtension
{
    public static class StringExtensions
    {
        public static string[] SplitBySubstring(this string input, string s)
        {
            return input.Split(new string[] { s }, StringSplitOptions.None);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            string text = "apple+banana+orange";
            string separator = "+";

            string[] result = text.SplitBySubstring(separator);
            foreach (string item in result)
            {
                Console.WriteLine(item);
            }
        }
    }
}
Imports System

Namespace StringSplitExtension
	Public Module StringExtensions
		<System.Runtime.CompilerServices.Extension> _
		Public Function SplitBySubstring(ByVal input As String, ByVal s As String) As String()
			Return input.Split(New String() { s }, StringSplitOptions.None)
		End Function
	End Module

	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim text As String = "apple+banana+orange"
			Dim separator As String = "+"

			Dim result() As String = text.SplitBySubstring(separator)
			For Each item As String In result
				Console.WriteLine(item)
			Next item
		End Sub
	End Class
End Namespace
VB   C#

Dans cet exemple, nous définissons une extension appelée SplitBySubstring qui prend un séparateur de chaîne en entrée et utilise la fonction intégrée String.Split()avec le séparateur donné. Cette approche permet d'étendre les fonctionnalités de la classestring` de C# tout en conservant un code organisé et réutilisable.

Iron Suite : Une puissante collection de bibliothèques pour C

La Suite Iron est un ensemble complet d'outils conçus pour permettre aux développeurs C# de disposer de fonctionnalités avancées dans divers domaines. De la manipulation de documents à la reconnaissance optique de caractères(OCR)ces bibliothèques sont un élément essentiel de toute boîte à outils de développement moderne. Il est intéressant de noter qu'elles peuvent être liées à la fonction C# String.Split(), une fonction fondamentale de manipulation des chaînes de caractères en C#.

IronPDF : Convertir HTML en PDF

IronPDF permet aux développeurs derendre HTML sous forme de PDF directement dans les applications .NET. Cette puissante bibliothèque permet de créer, d'éditer et même d'extraire du contenu PDF. Il offre une API intuitive qui rend la manipulation des PDF aussi simple que l'exécution d'opérations sur les chaînes de caractères telles que le fractionnement des chaînes. Pour de plus amples informations, des tutoriels et des conseils sur l'utilisation d'IronPDF, visitez le siteSite web d'IronPDF et leTutoriel HTML vers PDF.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

IronXL : Exceller dans les opérations Excel

Lorsqu'il s'agit de travailler avec des fichiers Excel dans des applications C#, IronXL est la bibliothèque de référence. Il permet aux développeurs de lire, d'écrire et de manipuler facilement des fichiers Excel, de la même manière qu'ils manipulent des chaînes de caractères en C#.

IronOCR : Reconnaissance optique de caractères

IronOCR est une bibliothèque essentielle pour les développeurs qui intègrent la fonctionnalité OCR dans leurs applications. En tirant parti d'IronOCR, vous pouvez lire du texte à partir d'images et de documents scannés, en les transformant en chaînes de caractères gérables, semblables à celles que vous pourriez manipuler à l'aide de Split String de C#. Pour en savoir plus sur IronOCR et sur la manière de l'intégrer dans vos projets, consultez la pageSite web de l'IronOCR.

IronBarcode : Numérisation et génération de codes-barres

Enfin, la suite Iron comprend IronBarcode, une solution complète pour la lecture et la génération de codes-barres dans les applications C#. Cette bibliothèque ramène la complexité des opérations sur les codes-barres à un niveau comparable à celui des manipulations de chaînes de caractères en C#.

Conclusion

La Suite Iron, avec ses différents composants IronPDF, IronXL, IronOCR et IronBarcode, offre des solutions simples aux développeurs qui travaillent avec des PDF, des fichiers Excel, des OCR et des codes-barres. En simplifiant les opérations complexes, un peu comme la méthode Split String de C# simplifie la manipulation des chaînes de caractères, ces bibliothèques sont de formidables outils pour les développeurs modernes.

Chacun de ces produits incroyables offre uneessai gratuit d'explorer et d'expérimenter l'ensemble des fonctionnalités. Les licences pour chaque produit commencent à partir de $749, offrant une passerelle abordable vers des fonctionnalités avancées.

Il est possible d'acheter un ensemble complet Iron Suite pour le prix de deux produits individuels seulement. Cette offre groupée ne se contente pas d'étendre les capacités de votre boîte à outils de développement, elle représente également une valeur exceptionnelle.

< PRÉCÉDENT
C# Getter Setter (Comment ça marche pour les développeurs)
SUIVANT >
.NET Core Polly (Comment ça marche pour les développeurs)