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.   Alt dize C# Ş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..];