C # string
başka bir bölmek istiyorsanız string
ben böyle bir şey yapmak zorunda:
testString.Split(new string[] { "anotherString" }, StringSplitOptions.None);
Aşırı yüklenmiş String.Split
MSDN Dokümantasyonundan uygulamayı ve neden böyle bir çağrı yapılması gerektiğini görebiliriz.
Python'dan geliyor, böyle bir çağrının neden gerekli olduğunu doğru bir şekilde anlamak benim için zor. Yani Regex.Split
Python uygulamasından benzer bir sözdizimi elde etmek için kullanabilirsiniz ama basit bir şey için daha az performans (kurulum süresi) pahasına bunu yapmak zorunda kalacaktı .
Yani temelde sorum şu: Niye yapamıyoruz?
testString.Split("anotherString");
Herhangi bir prototip veya uygulama önermediğimi unutmayın. Mevcut API'yı dikkate alarak yukarıdaki sürümü neden uygulayamadığınızı anlıyorum. Amacım, yukarıdaki sözdiziminin getirdiği fayda göz önüne alınarak böyle bir API'nin neden oluşturulduğunu anlamaktı. Şu an itibariyle, esneklikString.Split
mantıklı olan akımın hedefi gibi görünüyor , ama dürüst olmak gerekirse bir yerlerde bir tür performans kazancı olduğunu düşündüm. Sanırım yanılmışım.
testString.Split(",.;");
ve testString.Split(new Char [] {',', '.', ';',);
bunlar aynı şey değil.
IEnumerable<char>
böylece önerdiğiniz ek prototip bazı durumlarda belirsiz görünebilir (tüm dizeyle sınırlandırıyor musunuz veya karakterlerinin her biri ile sınırlanıyor musunuz?) Sadece bir tahmin.
testString.Split("anotherString");
, beklenen davranışın tüm dize ( anotherString
bu durumda) sınırlamak olduğunu söylemek oldukça eminim .