C#'deki bir Alt dize, bir dize içindeki bitişik bir karakter dizisidir. Başka bir deyişle, C#'deki bir alt dize, bir dizenin bir parçasıdır. C#'deki string sınıfı bir stringi temsil eder.
- Bir dizeden ilk n karakterden oluşan bir alt dize nasıl alınır
- Bir karakterden sonra bir alt dize nasıl alınır
- Bir karakterden önce bir alt dize nasıl alınır
- Başlangıç ve bitiş dizini olan bir alt dize nasıl elde edilir
- Dizinden sona bir alt dize nasıl alınır
- İki dize arasında bir alt dize nasıl elde edilir
- C# dizesinin son 4 karakterini nasıl alırım
1. C# String.Substring yöntemi
C# ve .NET'te bir dize, String sınıfı tarafından temsil edilir. Dize. Alt dize yöntemi, C# içindeki bir dize örneğinden bir alt dize alır. Yöntem, aşağıdaki iki aşırı yüklenmiş forma sahiptir. - Substring(Int32) - Belirtilen konumdan dizenin sonuna kadar bir alt dize almaktadır.
- Substring(Int32, Int32 - Belirtilen uzunluk için belirtilen konumdan bu örnekten bir alt dize alır.
-
2. C#'daki bir dizeden ilk n karakter alt dizesini alın
Dize karakterleri sıfır dizinlidir. Bir dizedeki ilk karakterlerin konumunun 0. konumdan başladığı anlamına gelir. Diyelim ki, bir dizeden ilk 12 karakterin bir alt dizesini almak istiyorsunuz. Bir dizeden ilk 12 karakter alt dizesini almak için Substring yöntemini kullanabilir ve başlangıç indeksi 0'ı ve alt dize 12'nin uzunluğunu iletebiliriz. Aşağıdaki kod parçacığı, bir dizeden 12 karakterlik bir alt dize almaya bir örnektir. - // Uzun bir dize
- string bio = "Mahesh Chand, C# Corner'ın kurucusudur. Mahesh ayrıca bir yazar, konuşmacı ve yazılım mimarıdır. Mahesh, 2000 yılında C# Corner'ı kurdu." ;
- // Bir dizgeden ilk 12 karakterlik alt dizgiyi al
- string yazarAdı = bio.Substring(0, 12);
- Console.WriteLine(yazarAdı);
- Şimdi, 12. konumdan sonraki her şeyi bir alt dize almak istiyorsanız. Dizenin geri kalanını bir alt dize olarak almak için dizedeki başlangıç konumunu basitçe iletebilirsiniz. Aşağıdaki kod parçacığı, bir dizede 12. konumdan sonraki tüm karakterleri içeren bir alt dize alır.
- // 12. pozisyondan sonraki her şeyi al
- string yazarBio = bio.Substring(12);
- Console.WriteLine(yazarBio);
- Tam kod örneği Liste 1'de listelenmiştir.
- Sistemi kullanarak ;
- sınıf programı
- {
- static void Main( string [] argümanlar)
- {
- // Uzun bir dize
- string bio = "Mahesh Chand, C# Corner'ın kurucusudur. Mahesh aynı zamanda bir yazardır, " +
- "hoparlör ve yazılım mimarı. Mahesh, 2000 yılında C# Corner'ı kurdu." ;
- // Bir dizgeden ilk 12 karakterlik alt dizgiyi al
- string yazarAdı = bio.Substring(0, 12);
- Console.WriteLine(yazarAdı);
- // 12. pozisyondan sonraki her şeyi al
- string yazarBio = bio.Substring(12);
- Console.WriteLine(yazarBio);
- Console.ReadKey();
- }
- }
- Liste 1. Liste 1'in çıktısı Şekil 1'e benziyor. Şekil 1.
3. Başlangıç ve bitiş dizini olan bir alt dize alın
Substring yönteminin ilk parametresi, alt dizinin başlangıç indeksidir. İkinci parametre, boşluklar dahil karakter sayısıdır. Dizeyi kullanabilirsiniz. Bir dizgenin bitiş dizinini bulmak için uzunluk. Aşağıdaki kod parçacığı, dizin 8'den başlayarak dizenin sonuna kadar bir alt dize alır. - // Başlangıç dizini ile bitiş dizini arasında bir dize alın
- string str = "Bir dizgede alt dizgi nasıl bulunur" ;
- int startIndex = 7;
- int endIndex = str.Length - 7;
- string başlık = str.Substring(startIndex, endIndex);
- Console.WriteLine(başlık);
- Bir dizi karakter elde etmek için Substring'in ikinci argümanını da iletebilirsiniz. Aşağıdaki kod parçacığı, dizin 8'den başlayan 15 karakterlik bir alt dize alır.
- // Başlangıç dizininden sonraki 15 karakteri al
- string başlık15 = str.Substring(startIndex, 15);
- Çıktı, Şekil 2'ye benziyor. Şekil 2.
4. C#'ta bir karakterden sonra veya önce bir alt dize alın
Belirtilen karakterin ilk oluşumundan önce bir alt dize bulmak için Substring yöntemini kullanabilirsiniz. Başlangıç dizinini 0 olarak ve uzunluğu belirtilen karakterlerin konumu olarak iletebilirsiniz. Aşağıdaki kod parçacığı, virgülün ilk oluşumundan önceki bir alt dizeyi alır. - // Bir karakterden önce veya sonra bir alt dize alın
- string yazarlar = "Mahesh Chand, Henry He, Chris Love, Raj Beniwal, Praveen Kumar" ;
- string stringBeforeChar = yazarlar.Substring(0, yazarlar.IndexOf( "," ));
- Console.WriteLine(stringBeforeChar);
- Aşağıdaki kod parçacığı, virgülün ilk oluşumundan sonraki bir alt dizeyi alır.
- // Bir karakterden sonra bir alt dizi al
- string stringAfterChar = yazarlar.Substring(yazarlar.IndexOf( "," ) + 2);
- Console.WriteLine(stringAfterChar);
-
5. C#'ta bir dizgede alt dizgilerin oluşumunu bulun
String.IndexOf yöntemini kullanarak bir dizedeki bir alt dizenin konumunu bulabilirsiniz. Aşağıdaki kod parçacığı, bir dizedeki bir alt dizenin konumunu döndürür. - int firstStringPosition = yazarlar.IndexOf( "Henry" );
-
6. C#'ta iki dize arasına bir alt dize alın
İki dize arasında bir alt dize bulmak için Substring yöntemini kullanabilirsiniz. İlk olarak, dizedeki iki dizenin konumunu bulmanız gerekir. Ardından, ilk dize konumunu başlangıç konumu olarak kullanın ve ilk dizenin konumunu ikinci dizenin konumundan çıkararak dizenin uzunluğunu bulun. Aşağıdaki kod parçacığı, 'Henry' ve 'Beniwal' arasında bir alt dize alır. - // Bir karakterden önce veya sonra bir alt dize alın
- string yazarlar = "Mahesh Chand, Henry He, Chris Love, Raj Beniwal, Praveen Kumar" ;
- // İki dize arasında bir alt dize alın
- int firstStringPosition = yazarlar.IndexOf( "Henry" );
- int secondStringPosition = yazarlar.IndexOf( "Beniwal" );
- string stringBetweenTwoStrings = yazarlar.Substring(firstStringPosition,
- secondStringPosition - firstStringPosition + 7);
- Console.WriteLine(stringBetweenTwoStrings);
- Alt dize, her iki dizeyi de içerir. 'Henry' ve 'Beniwal' adlı iki dizeyi alt dizeden çıkarmak istiyorsanız, Substring yönteminde başlangıç konumunu artırabilir ve uzunluk parametrelerini azaltabilirsiniz.
7. Bir dizeyi C#'da bir karakterle ayrılmış alt dizelere ayırın
String'i kullanabiliriz. Bir dizeyi bir dizi dizeye ayırmak için bölme yöntemi. Ayrıca bir dizideki bir karakteri daha fazla arayabilir ve ondan bir alt dizi alabilirsiniz. Aşağıdaki kod parçacığı, bir dizeyi virgülle ayrılmış bir dizi alt dizeye böler. Bundan sonra, Alt dize yöntemi, alt dizeden ':' ile gelen alt dizeleri almak için kullanılır. - // Her özelliğin değerini çıkar
- string yazar = "Ad: Mahesh Chand, Kitap: C# Programlama, Yayıncı: C# Köşesi, Yıl: 2020" ;
- string [] yazarBilgisi = yazar.Split( ", " );
- foreach ( dize bilgileri de authorInfo)
- {
- Console.WriteLine( " {0}" , info.Substring(info.IndexOf( ": " ) + 1));
- }
-
C#'da dizenin son 4 karakterini nasıl alabilirim?
Bu kod parçacığı, C#'da bir dizenin son 4 karakterini döndürür. C#'ta bir dizenin son n sayısını almak için 5'i herhangi bir n sayısıyla değiştirebilirsiniz. - string yazar = "Mahesh Chand, C# Corner'ın kurucusudur" ;
- string substr = yazar[^4..];