CodeBlanks Logo Icon CodeBlanks

Substring

.substr() ile bir dizenin parçasını almayı öğrenirsin.

substr metodu

Bir dizenin yalnızca bir parçasını almak için substr metodunu kullanırsın. s.substr(start, len) biçiminde çağrılır; start başlangıç dizini, len alınacak karakter sayısıdır. Dizinler sıfırdan başlar.

Örneğin std::string s = "Bilgisayar"; s.substr(0, 4) ifadesi "Bilg" döndürür. İkinci parametreyi vermezsen s.substr(start), start dizininden dizenin sonuna kadar olan kısmı verir.

Tek parametreli substr

substr metoduna yalnızca başlangıç dizinini verirsen, dizenin o dizinden sonuna kadar olan kısmını alırsın. std::string s = "Programlama"; s.substr(7) ifadesi "lama" döndürür.

Bu kısa yazım özellikle dosya uzantılarını veya son ekleri ayırmak için kullanışlıdır. Negatif dizin C++'ta desteklenmez; istediğin dizin 0 ile s.length() arasında olmalıdır.

Uygulama İlk dört karakteri yazdır

text değişkenine "Bilgisayar" değeri verilmiş. text.substr(0, 4) çağrısıyla ilk dört karakteri part değişkenine al ve std::cout ile yazdır. Çıktı Bilg olmalı.

Başlangıç kodu

main.cpp
#include <iostream>
#include <string>

int main() {
    std::string text = "Bilgisayar";
    // İlk dört karakteri part değişkenine al ve yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>
#include <string>

int main() {
    std::string text = "Bilgisayar";
    std::string part = text.substr(0, 4);
    std::cout << part << std::endl;
    return 0;
}

Beklenen çıktı

Bilg

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 std::string s = "Bilgisayar"; s.substr(4, 3) ne döndürür?

main.cpp
std::string s = "Bilgisayar";
s.substr(4, 3)
  • "Bil"
  • "isa" Doğru cevap
  • "Bilg"
  • "isay"

Açıklama: 4. dizinden 3 karakter: "isa".

2 substr başlangıç parametresini yaz

Soru
std::string s = "Merhaba";
std::string part = s.substr(____, 3);
Cevap
std::string s = "Merhaba";
std::string part = s.substr(0, 3);

Açıklama: substr(0, 3) ilk üç karakteri verir.

3 substr çağrısını sonucuna eşle

Kavram Anlamı
s.substr(0, 3) on "Merhaba" "Mer"
s.substr(3) on "Merhaba" "haba"
s.substr(0, 1) on "Merhaba" "M"
s.substr(4, 2) on "Merhaba" "ba"

Başlangıç bölümündeki tüm dersler