Witruimten in een string in C# verwijderen

Witruimten In Een String In C Verwijderen



In C# worden witruimtetekens weergegeven door de spatie, tab, nieuwe regel, regelterugloop en andere soortgelijke tekens. Het verwijderen van spaties uit een tekenreeks is een veelvoorkomende taak bij het manipuleren van tekenreeksen, vooral wanneer het gaat om gebruikersinvoer, bestandsverwerking en gegevensparsing. Dit artikel gaat dieper in op verschillende methoden voor het verwijderen van spaties uit een tekenreeks in C#.

Wat zijn witruimtes?

Witruimten zijn tekens die lege of lege spaties in een tekenreeks vertegenwoordigen. Ze worden meestal gebruikt om woorden en andere elementen van een tekst te scheiden en om de leesbaarheid en visuele weergave van de tekst te verbeteren.







Bij het programmeren omvatten witruimten tekens zoals spaties, tabs, nieuwe regels en regelteruglooptekens. In veel programmeertalen worden witruimten genegeerd of als onbelangrijk behandeld bij het verwerken of interpreteren van code, maar ze kunnen de lay-out, opmaak en syntaxis van de code beïnvloeden.



Witruimten in een tekenreeks verwijderen

Het verwijderen of manipuleren van witruimten is een veelvoorkomende taak bij het verwerken van tekenreeksen en tekstmanipulatie. Het normaliseren of standaardiseren van tekstinvoer brengt vaak de noodzaak met zich mee om witruimten te verwijderen of te vervangen. Om onnodige tekens te verwijderen die de functionaliteit van de code of de nauwkeurigheid van de gegevens kunnen beïnvloeden, of om de efficiëntie en leesbaarheid van de code te verbeteren, volgen hier enkele manieren om dit te doen:



1: String.Replace()-methode gebruiken

Om witruimten op een eenvoudige manier uit een tekenreeks te verwijderen, kan de methode String.Replace() worden gebruikt. In dit scenario kunnen we het spatieteken ' ' aanwijzen als de oude waarde en een lege tekenreeks '' als de nieuwe waarde. Door dit te doen, worden alle spaties binnen de tekenreeks effectief verwijderd.





systeem gebruiken;

klasse witruimte
{
statische leegte Main ( snaar [ ] argumenten )
{
tekenreeks origineelString = 'Hallo Sam!' ;
string getrimdString = origineleString.Vervangen ( ' ' , '' ) ;
Console.WriteLine ( getrimdeString ) ;
}
}


Dit programma bevat een gebruiksinstructie die de systeemnaamruimte importeert, die vereist is voor het gebruik van de consoleklasse voor console-invoer en -uitvoer.

Binnen de methode Main initialiseren we een stringvariabele met de naam originalString met de waarde 'Hello, Sam!'.



Vervolgens declareren we een andere stringvariabele met de naam trimmedString en kennen deze de uitkomst toe van het aanroepen van de Replace()-methode op originalString. De Vervangen() methode wordt aangeroepen met twee argumenten: het eerste argument vertegenwoordigt de oude subtekenreeks die we willen vervangen, in dit geval een enkel spatieteken ' ', en het tweede argument geeft de nieuwe subtekenreeks aan waarmee we deze willen vervangen, namelijk een lege tekenreeks ''.

2: String.Join()-methode gebruiken

Een andere manier om spaties uit een tekenreeks te verwijderen, is door de tekenreeks op te splitsen in een reeks subtekenreeksen met behulp van de methode String.Split() en de subtekenreeksen vervolgens weer samen te voegen met behulp van de String.Join() methode. Om eventuele lege subtekenreeksen die kunnen ontstaan ​​uit opeenvolgende witruimten te verwijderen, kunnen we de optie StringSplitOptions.RemoveEmptyEntries gebruiken.

systeem gebruiken;

klasse witruimte
{
statische leegte Main ( snaar [ ] argumenten )
{
tekenreeks origineelString = 'Hallo Sam!' ;
snaar [ ] substrings = origineleString.Split ( nieuwe char [ ] { '' } , StringSplitOptions.RemoveEmptyEntries ) ;
string getrimdString = String.Join ( '' , ondertekenreeksen ) ;
Console.WriteLine ( getrimdeString ) ;
}
}


Binnen deze code is er een declaratie van een tekenreeksvariabele met de naam 'originalString' en deze wordt geïnitialiseerd met de waarde 'Hallo, Sam!' en wordt vervolgens gesplitst in een reeks subtekenreeksen met een spatie als scheidingsteken. De optie RemoveEmptyEntries wordt gebruikt om lege subtekenreeksen uit te sluiten van de resulterende array.

Vervolgens maakt de code gebruik van de String.Join() methode om de niet-lege subtekenreeksen samen te voegen tot een uniforme tekenreeks, waarbij een lege tekenreeks als scheidingsteken wordt gebruikt.

Ten slotte gebruikt de code de Console.WriteLine om de ingekorte tekenreeks in het consolevenster weer te geven. Bij het uitvoeren van deze code kunt u verwachten dat u de uitvoer 'Hallo, Sam!' wordt afgedrukt op de console.

3: Reguliere expressies gebruiken

Reguliere expressies bieden een krachtige manier om patronen in tekenreeksen te matchen en te vervangen. Door gebruik te maken van de Regex.Vervangen() methode kunnen we effectief alle witruimtetekens uit een string verwijderen.

systeem gebruiken;
System.Text.RegularExpressions gebruiken;

klasse witruimte
{
statische leegte Main ( snaar [ ] argumenten )
{
tekenreeks origineelString = 'Hallo Sam!' ;
string getrimdString = Regex.Vervangen ( origineleString, @ '\s+' , '' ) ;
Console.WriteLine ( getrimdeString ) ; '
}
}


In deze code wordt een tekenreeksvariabele met de naam 'originalString' gedeclareerd en geïnitialiseerd met de waarde 'Hello, Sam!'. De code gebruikt vervolgens de methode Regex.Replace() om een ​​of meer witruimtetekens (weergegeven door de reguliere expressie \s+) te vervangen door een lege tekenreeks.

Ten slotte gebruikt de code de Console.WriteLine() om de ingekorte tekenreeks naar het consolevenster uit te voeren en wanneer u dit programma uitvoert, ziet u de uitvoer 'Hallo, Sam!' afgedrukt op de console.

In dit specifieke voorbeeld wordt het reguliere expressiepatroon @”\s+” gebruikt om een ​​of meer witruimtetekens (inclusief spaties, tabs en nieuwe regels) te matchen en deze vervolgens te vervangen door een lege tekenreeks.

4: LINQ gebruiken

We kunnen ook spaties uit een string verwijderen met behulp van LINQ. We kunnen de methode Where() gebruiken om witruimtetekens uit te filteren en vervolgens de resterende tekens weer samen te voegen met behulp van de String.Concat() methode.

systeem gebruiken;
met behulp van System.Linq;

klasse witruimte
{
statische leegte Main ( snaar [ ] argumenten )
{
tekenreeks origineelString = 'Hallo Sam!' ;
string getrimdeString = nieuwe string ( originalString.Where ( c = > ! char.IsWhiteSpace ( C ) ) .ToArray ( ) ) ;
Console.WriteLine ( getrimdeString ) ;
}
}


In dit codefragment wordt een tekenreeksvariabele met de naam 'originalString' gedeclareerd en geïnitialiseerd met de waarde 'Hallo, Sam! “. Vervolgens wordt een nieuwe tekenreeksvariabele met de naam trimmedString gemaakt met behulp van een LINQ-expressie die eventuele witruimtetekens uit de oorspronkelijke tekenreeks filtert. De Where()-extensiemethode wordt gebruikt om de tekens te filteren en de resulterende tekens worden geconverteerd naar een array en doorgegeven aan de nieuwe tekenreeksconstructor om een ​​nieuwe tekenreeks te maken.

Ten slotte gebruikt de code de Console.WriteLine() om de ingekorte tekenreeks naar het consolevenster uit te voeren. Bij het uitvoeren van deze code kunt u verwachten dat u de uitvoer 'Hallo, Sam!' weergegeven op de console.

Conclusie

In C# bestaan ​​er verschillende methoden voor het verwijderen van spaties uit een tekenreeks en dat zijn de String.Replace()-methode, de String.Join()-methode, het gebruik van reguliere expressies en het gebruik van LINQ. Het is van cruciaal belang om te kiezen voor een methode die efficiënt, robuust en gemakkelijk te begrijpen is, die gemakkelijk te onderhouden en leesbaar is.