C # Split-sträng med en variabel längdsgräns

C # strängtyper har en metod att dela upp sig när en viss avgränsare uppträder. Den här metoden returnerar en strängmatris som innehåller de substrängar som avgränsas av element i en specificerad Unicode-teckenuppsättning.

Splitting Strings Använda char []

Att bryta upp en sträng i sina enskilda ord med en avgränsare är ett vanligt krav. Om detta görs kan ett samtal till metoden String.Split () se ut så här:

string words = "Detta är en lista med ord, med: lite skiljetecken.";
sträng [] split = words.Split (ny Char [] {", ',', '.', ':'});

Detta skulle producera strängmatrisen:

{"Detta", "är", "a", "lista", "av", "ord", "med", "a", "bit", "av", "skiljetecken"}

Att dela en sträng med mellanslag med metoden fungerar som en charm! Men, om vi ville dela med en mer komplex avgränsare?

Splitting Strings Använda sträng []

För vårt nästa exempel, låt oss göra vår avgränsare mer komplex genom att bara dela på förekomster av komma och rymden och förekomster av flera bokstäver som "ae"?

Vi kan också använda andra String.Split () metoder för detta. Detta exempel visar String.Split (String [], StringSplitOptions) -metoden. StringSplitOptions bestämmer om metoden .Split () kommer att returnera arrayelement som innehåller en tom sträng.

Här är vår exempelkod:

string words = "Detta är en lista med ord: estetik, praefect";
sträng [] separatorer = {",", "ae"};
sträng [] split = words.Split (separatorer, StringSplitOptions.None);

Detta skulle producera strängmatrisen:

{"Detta är en lista med ord:", "sthetics", "pr", "fect"}