Een string splitsen door een andere string in C#

Ik heb de Split() methode gebruikt om strings te splitsen, maar dit lijkt alleen te werken als je een string splitst door een karakter. Is er een manier om een string te splitsen, met een andere string als de split by parameter?

Ik heb geprobeerd de splitter om te zetten in een character array, zonder succes.

Met andere woorden, ik'zou graag de string splitsen:

THExxQUICKxxBROWNxxFOX

door xx, en een array met waarden teruggeven:

THE, QUICK, BROWN, FOX

Oplossing

Om door een string te splitsen moet je de string array overload gebruiken.

string data = "THExxQUICKxxBROWNxxFOX";

return data.Split(new string[] { "xx" }, StringSplitOptions.None);
Commentaren (14)

Er is een overload van Split die strings neemt.

"THExxQUICKxxBROWNxxFOX".Split(new [] { "xx" }, StringSplitOptions.None);

Je kunt een van deze StringSplitOptions gebruiken

  • None - De terugkeerwaarde bevat array elementen die een lege string bevatten
  • RemoveEmptyEntries - De terugkeerwaarde bevat geen array-elementen die een lege tekenreeks bevatten

Dus als de string "THExxQUICKxxxxBROWNxxFOX" is, zal StringSplitOptions.None een lege entry in de array retourneren voor het "xxxx" deel terwijl StringSplitOptions.RemoveEmptyEntries dat niet zal doen.

Commentaren (0)
Regex.Split(string, "xx")

is de manier waarop ik het meestal doe. Natuurlijk heb je een

using System.Text.RegularExpressions;

maar ik heb die bibliotheek altijd nodig.

Commentaren (3)