.NET-HILFE

C# Split String (Wie es funktioniert für Entwickler)

Veröffentlicht 29. August 2023
Teilen Sie:

Egal, ob Sie ein Neuling in der Programmierung oder ein angehender C#-Entwickler sind, das Verständnis für das Aufteilen von Strings ist eine grundlegende Fähigkeit, die Ihre Programmierfähigkeiten erheblich verbessern kann. In diesem Lernprogramm werden wir uns mit der Split-Manipulation in C# beschäftigen.

Einführung in die Aufteilung von Zeichenketten

In der Programmierung ist eine Zeichenkette eine Folge von Zeichen, und es gibt Szenarien, in denen man sie anhand eines bestimmten Trennzeichens oder Begrenzers in kleinere Teile aufteilen muss. Dieser Vorgang wird als String-Splitting bezeichnet, eine wesentliche Technik beim Umgang mit Textdaten. Stellen Sie sich vor, Sie haben einen Satz, den Sie in einzelne Wörter aufteilen wollen - das ist ein klassisches Beispiel für die Aufteilung von Zeichenketten.

In C# wird die Funktion String.Split() ist das ideale Werkzeug für diese Aufgabe. Mit der Split-Methode können Sie eine Zeichenkette anhand eines bestimmten Trennzeichens in ein Array von Teilzeichenketten unterteilen. Lassen Sie uns nun die verschiedenen Aspekte der effektiven Anwendung dieser Methode näher betrachten.

Verwendung der Funktion String.Split()

Basic String Split

Die einfachste Verwendung der Funktion `String.Split()bei dieser Methode wird ein einzelnes Zeichen als Trennzeichen verwendet. So können Sie einen Satz in Wörter aufteilen:

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."
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'char separator = ''; string [] words = sentence.Split(separator); ' returned array
VB   C#

In diesem Beispiel wird der Satz in ein Array von Strings unterteilt, wobei jedes Element ein Wort darstellt. Das Trennzeichen ist hier ein Leerzeichen. Sie können das Trennzeichen anpassen, um die Zeichenkette nach verschiedenen Kriterien aufzuteilen, z. B. Kommas, Semikolons oder jedes andere Zeichen Ihrer Wahl.

Behandlung leerer Array-Elemente

Bei der Aufteilung einer Zeichenkette kann es vorkommen, dass aufeinanderfolgende Trennzeichen zu leeren Array-Elementen führen. Nehmen wir zum Beispiel die Zeichenkette Apfel, Banane, Orange. Wenn Sie dies mit einem Komma als Trennzeichen aufteilen, erhalten Sie ein Array mit leeren Elementen zwischen den aufeinanderfolgenden Kommas.

Um dies zu beheben, können Sie die Option "StringSplitOptions.RemoveEmptyEntries" verwenden:

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#

Mit dieser Option werden die leeren Arrayelemente, die durch aufeinanderfolgende Trennzeichen verursacht werden, automatisch aus dem resultierenden Array entfernt.

Splitting mit mehreren Trennzeichen

In komplexeren Szenarien kann es erforderlich sein, eine Zeichenkette mit mehreren Zeichen als Begrenzungszeichen aufzuteilen. Stellen Sie sich vor, Sie haben eine Zeichenkette wie "Apfel, Banane, Orange" und wollen sie mit Semikolon und Pipe als Trennzeichen aufteilen.

Um dies zu erreichen, können Sie die Funktion `String.Split()methode mit dem Parameter "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#

Dies ergibt ein Array mit drei Elementen: Apfel, Banane und Orange

Begrenzung der Anzahl von Teilstrings

In manchen Fällen möchten Sie eine Zeichenfolge in eine begrenzte Anzahl von Teilzeichenfolgen aufteilen. Dies kann nützlich sein, wenn Sie mit langen Zeichenfolgen arbeiten oder nur an einer bestimmten Anzahl von Segmenten interessiert sind. Die Funktion `String.Split()methode ermöglicht es Ihnen, die maximale Anzahl der zu erzeugenden Teilzeichenfolgen anzugeben:

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#

Wenn der Parameter maxSubstrings auf 3 gesetzt ist, enthält das resultierende Array one,two,undthree.` Der restliche Teil der Zeichenkette (vier, fünf) bleibt unangetastet.

Erstellen Ihrer Erweiterung zur Aufteilung von Zeichenketten

Während die eingebaute `String.Split()methode deckt die meisten Ihrer Bedürfnisse beim Aufteilen von Zeichenketten ab. Sie können auch Ihre eigene Erweiterungsmethode erstellen, um die Funktionalität an Ihre Anforderungen anzupassen. Angenommen, Sie möchten eine Zeichenkette anhand einer bestimmten Teilzeichenkette und nicht anhand eines einzelnen Zeichens aufteilen. So können Sie es tun:

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#

In diesem Beispiel definieren wir eine Erweiterung namens SplitBySubstring, die ein String-Trennzeichen als Eingabe nimmt und die eingebaute String.Split verwendet()Methode mit dem angegebenen Trennzeichen. Dieser Ansatz erweitert die Funktionalität derstring`-Klasse von C# und sorgt dafür, dass Ihr Code organisiert und wiederverwendbar bleibt.

Iron Suite: Eine leistungsstarke Sammlung von Bibliotheken für C##

Die Iron Suite ist ein umfassender Satz von Tools, die C#-Entwicklern erweiterte Funktionen für verschiedene Bereiche bieten. Von der Dokumentenmanipulation zur optischen Zeichenerkennung (OCR)sind diese Bibliotheken ein wesentlicher Bestandteil jedes modernen Entwicklungswerkzeugs. Interessanterweise können sie mit dem C# String.Split()-Methode, eine grundlegende Funktion zur Bearbeitung von Zeichenketten in C#.

IronPDF: Konvertierung von HTML in PDF

IronPDF ermöglicht Entwicklern hTML als PDF-Dateien wiedergeben direkt in .NET-Anwendungen. Mit dieser leistungsstarken Bibliothek können Sie PDF-Inhalte erstellen, bearbeiten und sogar extrahieren. Es bietet eine intuitive API, mit der die PDF-Bearbeitung so einfach ist wie die Durchführung von String-Operationen wie Split String. Weitere Informationen, Tutorials und Anleitungen zur Verwendung von IronPDF finden Sie unter IronPDFs Website und die HTML-zu-PDF-Tutorial.

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: Herausragende Excel-Operationen

Wenn es um die Arbeit mit Excel-Dateien in C#-Anwendungen geht, ist IronXL die ideale Bibliothek. Es ermöglicht Entwicklern das einfache Lesen, Schreiben und Manipulieren von Excel-Dateien, ähnlich wie die Handhabung von String-Manipulationen durch C#.

IronOCR: Optische Zeichenerkennung

IronOCR ist eine unverzichtbare Bibliothek für Entwickler, die OCR-Funktionen in ihre Anwendungen integrieren möchten. Mit IronOCR können Sie Text aus Bildern und gescannten Dokumenten lesen und in handhabbare Strings umwandeln, ähnlich wie Sie sie mit C# Split String bearbeiten können. Erfahren Sie mehr über IronOCR und wie Sie es in Ihre Projekte integrieren können, indem Sie die IronOCR-Website.

IronBarcode: Barcode scannen und erzeugen

Schließlich enthält die Iron Suite IronBarcode, eine umfassende Lösung zum Lesen und Erzeugen von Barcodes in C#-Anwendungen. Diese Bibliothek bringt die Komplexität von Barcode-Operationen auf ein Niveau, das mit String-Manipulationen wie in C# vergleichbar ist.

Schlussfolgerung

Die Iron Suite mit ihren verschiedenen Komponenten IronPDF, IronXL, IronOCR und IronBarcode bietet einfache Lösungen für Entwickler, die mit PDFs, Excel-Dateien, OCR und Barcodes arbeiten. Durch die Vereinfachung komplexer Operationen, ähnlich wie die C# Split String-Methode die String-Manipulation vereinfacht, sind diese Bibliotheken großartige Werkzeuge für moderne Entwickler.

Jedes dieser unglaublichen Produkte bietet eine kostenlos testen zu erforschen und mit der gesamten Bandbreite der Funktionen zu experimentieren. Die Lizenzierung für jedes Produkt beginnt bei $749 und bietet einen erschwinglichen Zugang zu fortgeschrittenen Funktionalitäten.

Ein komplettes Iron Suite-Paket kann für den Preis von nur zwei Einzelprodukten erworben werden. Dieses gebündelte Angebot erweitert nicht nur die Möglichkeiten Ihres Entwicklungs-Toolkits, sondern bietet auch einen außergewöhnlichen Wert.

< PREVIOUS
C# Getter Setter (Wie es für Entwickler funktioniert)
NÄCHSTES >
.NET Core Polly (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >