Dize İşlemleri: Birleştirme, Alt Dize, Bulma, Değiştirme
std::string API'siyle dize içeriğini birleştirin, dilimleyin, arayın ve değiştirin.
Dize İşlemleri: Birleştirme, Alt Dize, Bulma, Değiştirme, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.
+ ile Birleştirme
+ işleci iki dizeyi yeni bir dizede birleştirir. += yerinde sona ekleme yapar.
std::string a = "Hello, ";
std::string b = "World";
std::string c = a + b; // "Hello, World"
a += b; // a is now "Hello, World"Verimli Sona Ekleme
Uzun dizelerde tekrarlanan + kullanımı birçok geçici nesne oluşturur. Sık çalıştırılan döngülerde += veya append() kullanın.
std::string result;
for (auto& word : words) {
result += word;
result += ' ';
}substr ile Alt Dizeler
substr(pos, len), pos konumundan başlayan yeni bir dize döndürür. len belirtilmezse dizenin geri kalanını kullanır.
std::string s = "Hello, World";
std::cout << s.substr(0, 5); // "Hello"
std::cout << s.substr(7); // "World"Alt Dizeleri Bulma: find
find(needle), ilk eşleşmenin dizinini döndürür; eşleşme bulunamazsa std::string::npos döndürür.
std::string s = "the quick brown fox";
auto pos = s.find("quick");
if (pos != std::string::npos)
std::cout << "Found at " << pos;Bir Konumdan İtibaren Bulma
Aramaya belirli bir dizinden başlamak için ikinci bir bağımsız değişken geçirin; bu, tüm oluşumları bulmak için kullanışlıdır.
std::string s = "abc abc abc";
size_t pos = 0;
while ((pos = s.find("abc", pos)) != std::string::npos) {
std::cout << pos << ' ';
pos += 3;
}rfind: Sondan Arama
rfind, son oluşumu bulur. find_first_of ve find_last_of, bir kümedeki herhangi bir karakteri arar.
Yerinde Değiştirme
replace(pos, len, str), pos konumundaki len karakteri str ile değiştirir; yeni dize farklı uzunlukta olabilir.
std::string s = "Hello, World";
s.replace(7, 5, "C++");
std::cout << s; // "Hello, C++"Karakterleri Silme
erase(pos, len) bir alt dizeyi kaldırır. erase() bağımsız değişkensiz çağrıldığında dizenin tamamını temizler.
std::string s = "Hello, World";
s.erase(5, 2); // removes ", "
std::cout << s; // "HelloWorld"Karakter Ekleme
insert(pos, str), str değerini pos konumuna ekler ve geri kalan her şeyi sağa kaydırır.
std::string s = "HelloWorld";
s.insert(5, ", ");
std::cout << s; // "Hello, World"Dizeleri Karşılaştırma
Standart karşılaştırma işleçlerini veya compare() işlevini kullanın. Karşılaştırma sözlükbilimseldir.
std::string a = "apple", b = "banana";
if (a < b) std::cout << "apple comes first";Tüm Oluşumları Değiştirme
Standart kitaplıkta tüm oluşumları tek çağrıyla değiştiren bir işlev yoktur. Basit bir yardımcı işlev yazın veya std::regex kullanın.
void replaceAll(std::string& s, const std::string& from, const std::string& to) {
size_t pos = 0;
while ((pos = s.find(from, pos)) != std::string::npos) {
s.replace(pos, from.size(), to);
pos += to.size();
}
}Hızlı Kontrol
Alt dize mevcut olmadığında "hello".find("xyz") ne döndürür?
Özet
std::string kapsamlı bir API sunar: birleştirme için + ve +=, dilimleme için substr, arama için find, düzenleme içinse replace, erase ve insert. find sonrasında std::string::npos ile karşılaştırın.
Sıkça Sorulan Sorular
“Dize İşlemleri: Birleştirme, Alt Dize, Bulma, Değiştirme” dersi ücretsiz mi?
Evet — “Dize İşlemleri: Birleştirme, Alt Dize, Bulma, Değiştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.
“Dize İşlemleri: Birleştirme, Alt Dize, Bulma, Değiştirme” dersinde ne öğreneceğim?
std::string API'siyle dize içeriğini birleştirin, dilimleyin, arayın ve değiştirin. C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C++ Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Dize İşlemleri: Birleştirme, Alt Dize, Bulma, Değiştirme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- std::string ve C Tarzı Karakter Dizileri
- Dize İşlemleri: Birleştirme, Alt Dize, Bulma, Değiştirme
- Ayrıştırma için Dize Akışı stringstream
- Dize Dönüşümleri: to_string ve stoi