C#'ta bir dizeyi başka bir dizeyle bölme

Dizeleri bölmek için Split() yöntemini kullanıyorum, ancak bu yalnızca bir dizeyi bir karakterle bölüyorsanız çalışıyor gibi görünüyor. Bir dizeyi, split by parametresi başka bir dize olacak şekilde bölmenin bir yolu var mı?

Ayırıcıyı bir karakter dizisine dönüştürmeyi denedim ama başarılı olamadım.

Başka bir deyişle, `string'i bölmek istiyorum:

THExxQUICKxxBROWNxxFOX

ve değerleri içeren bir dizi döndürür:

THE, QUICK, BROWN, FOX

Çözüm

Bir dizeye göre bölmek için string array overload kullanmanız gerekir.

string data = "THExxQUICKxxBROWNxxFOX";

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

Dizeleri alan bir Split aşırı yüklemesi vardır.

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

Bu StringSplitOptions seçeneklerinden birini kullanabilirsiniz

  • None - Dönüş değeri dizi içerir boş bir dize içeren öğeler
  • RemoveEmptyEntries - Dönüş değeri dizi elemanlarını içermez. boş bir dize içerir

Dolayısıyla, dize "THExxQUICKxxxxBROWNxxFOX" ise, StringSplitOptions.None "xxxx" kısmı için dizide boş bir girdi döndürürken, StringSplitOptions.RemoveEmptyEntries döndürmez.

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

Ben genelde böyle yaparım. Tabii ki bir

using System.Text.RegularExpressions;

ama yine de o kütüphaneye her zaman ihtiyacım var.

Yorumlar (3)