Ako odstrániť medzery v reťazci v C #

Ako Odstranit Medzery V Retazci V C



V C# sú medzery reprezentované medzerou, tabulátorom, novým riadkom, návratom vozíka a inými podobnými znakmi. Odstránenie medzier z reťazca je bežnou úlohou pri manipulácii s reťazcami, najmä pri práci s používateľskými vstupmi, spracovaním súborov a analýzou údajov. Tento článok sa ponorí do rôznych metód na odstránenie medzier z reťazca v C#.

Čo sú medzery?

Medzery sú znaky, ktoré predstavujú prázdne alebo prázdne miesta v textovom reťazci. Zvyčajne sa používajú na oddelenie slov a iných prvkov textu a na zlepšenie čitateľnosti a vizuálneho vzhľadu textu.







V programovaní biele znaky zahŕňajú znaky, ako sú medzery, tabulátory, nové riadky a návraty vozíka. V mnohých programovacích jazykoch sú biele znaky pri spracovaní alebo interpretácii kódu ignorované alebo považované za nepodstatné, ale môžu ovplyvniť rozloženie, formátovanie a syntax kódu.



Ako odstrániť medzery v reťazci

Odstránenie alebo manipulácia s medzerami je bežnou úlohou pri spracovaní reťazcov a manipulácii s textom. Normalizácia alebo štandardizácia textových vstupov často zahŕňa potrebu odstrániť alebo nahradiť medzery. Ak chcete odstrániť nepotrebné znaky, ktoré môžu ovplyvniť funkčnosť kódu alebo presnosť údajov, alebo zlepšiť efektívnosť a čitateľnosť kódu, postupujte takto:



1: Použitie metódy String.Replace().

Na priame odstránenie medzier z reťazca je možné použiť metódu String.Replace(). V tomto scenári môžeme označiť znak medzery „ “ ako starú hodnotu a prázdny reťazec „“ ako novú hodnotu. Tým sa efektívne odstránia všetky medzery v reťazci.





pomocou systému;

trieda whitepace
{
static void Main ( reťazec [ ] args )
{
string originalString = 'Ahoj, Sam!' ;
string trimmedString = originalString.Replace ( '' , '' ) ;
Console.WriteLine ( trimmedString ) ;
}
}


Tento program obsahuje príkaz using, ktorý importuje priestor názvov System, ktorý je potrebný na používanie triedy Console pre vstup a výstup konzoly.

V rámci metódy Main inicializujeme reťazcovú premennú s názvom originalString s hodnotou „Hello, Sam!“.



Ďalej deklarujeme ďalšiu reťazcovú premennú s názvom trimmedString a priradíme jej výsledok vyvolania metódy Replace() na originalString. The Nahradiť () metóda sa volá s dvoma argumentmi: prvý argument predstavuje starý podreťazec, ktorý chceme nahradiť, čo je v tomto prípade jedna medzera „ “, a druhý argument označuje nový podreťazec, ktorým ho chceme nahradiť, konkrétne prázdny reťazec “.

2: Použitie metódy String.Join().

Ďalším spôsobom, ako odstrániť medzery z reťazca, je rozdeliť reťazec na pole podreťazcov pomocou metódy String.Split() a potom spojiť podreťazce späť pomocou String.Join() metóda. Na odstránenie akýchkoľvek prázdnych podreťazcov, ktoré môžu vzniknúť z po sebe idúcich medzier, môžeme použiť možnosť StringSplitOptions.RemoveEmptyEntries.

pomocou systému;

trieda whitepace
{
static void Main ( reťazec [ ] args )
{
string originalString = 'Ahoj, Sam!' ;
reťazec [ ] podreťazce = originalString.Split ( nový char [ ] { ' ' } , StringSplitOptions.RemoveEmptyEntries ) ;
string trimmedString = Reťazec.Pripojiť ( '' , podreťazce ) ;
Console.WriteLine ( trimmedString ) ;
}
}


V tomto kóde sa nachádza deklarácia reťazcovej premennej s názvom „originalString“ a je inicializovaná hodnotou „Hello, Sam!“ a potom sa rozdelí na pole podreťazcov pomocou znaku medzery ako oddeľovača. Voľba RemoveEmptyEntries sa používa na vylúčenie akýchkoľvek prázdnych podreťazcov z výsledného poľa.

Následne kód využíva String.Join() metóda na zlúčenie neprázdnych podreťazcov do zjednoteného reťazca, pričom ako oddeľovač sa používa prázdny reťazec.

Nakoniec kód využíva Console.WriteLine na zobrazenie orezaného reťazca v okne konzoly. Po vykonaní tohto kódu môžete očakávať výstup „Ahoj, Sam!“ vytlačené na konzole.

3: Používanie regulárnych výrazov

Regulárne výrazy poskytujú účinný spôsob zhody a nahradenia vzorov v reťazcoch. Využitím Regex.Replace() môžeme efektívne odstrániť všetky medzery z reťazca.

pomocou systému;
pomocou System.Text.RegularExpressions;

trieda biele znaky
{
static void Main ( reťazec [ ] args )
{
string originalString = 'Ahoj, Sam!' ;
string trimmedString = Regex.Replace ( originalString, @ '\s+' , '' ) ;
Console.WriteLine ( trimmedString ) ; '
}
}


V tomto kóde je reťazcová premenná s názvom „originalString“ deklarovaná a inicializovaná hodnotou „Hello, Sam!“. Kód potom využíva metódu Regex.Replace() na nahradenie jedného alebo viacerých bielych znakov (reprezentovaných regulárnym výrazom \s+) prázdnym reťazcom.

Nakoniec kód používa Console.WriteLine() na výstup orezaného reťazca do okna konzoly a keď spustíte tento program, uvidíte výstup „Ahoj, Sam!“ vytlačené na konzole.

V tomto konkrétnom príklade sa vzor regulárneho výrazu @”\s+” používa na zhodu jedného alebo viacerých prázdnych znakov (vrátane medzier, tabulátorov a nových riadkov) a následne ich nahrádza prázdnym reťazcom.

4: Použitie LINQ

Môžeme tiež odstrániť medzery z reťazca pomocou LINQ. Môžeme použiť metódu Where() na odfiltrovanie bielych znakov a potom spojiť zvyšné znaky späť pomocou String.Concat() metóda.

pomocou systému;
pomocou System.Linq;

trieda biele znaky
{
static void Main ( reťazec [ ] args )
{
string originalString = 'Ahoj, Sam!' ;
string trimmedString = nový reťazec ( originalString.Where ( c = > ! char.IsWhiteSpace ( c ) ) .ToArray ( ) ) ;
Console.WriteLine ( trimmedString ) ;
}
}


V tomto úryvku kódu je deklarovaná reťazcová premenná s názvom „originalString“ a inicializovaná hodnotou „Ahoj, Sam! “. Potom vytvorí novú reťazcovú premennú s názvom trimmedString pomocou výrazu LINQ, ktorý odfiltruje všetky medzery z pôvodného reťazca. Metóda rozšírenia Where() sa používa na filtrovanie znakov a výsledné znaky sa skonvertujú na pole a odovzdajú sa konštruktorovi nového reťazca na vytvorenie nového reťazca.

Nakoniec kód používa Console.WriteLine() na výstup orezaného reťazca do okna konzoly. Po vykonaní tohto kódu môžete očakávať výstup „Ahoj, Sam!“ zobrazené na konzole.

Záver

V C# existujú rôzne metódy na odstraňovanie medzier z reťazca a tými sú metóda String.Replace(), metóda String.Join(), využívajúca regulárne výrazy a používanie LINQ. Je dôležité zvoliť si metódu, ktorá je účinná, robustná a ľahko zrozumiteľná, čo umožňuje jednoduchú údržbu a čitateľnosť.