Substring
- C++ kursu
- Başlangıç
- Ders 33/116
- 5 dk
.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
#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
#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?
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
std::string s = "Merhaba";
std::string part = s.substr(____, 3);
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" |