String Metotları
Coddy'nin Rust Journey'sinin Temeller bölümünün bir parçası. Ders 69 / 75.
Rust, dizeler üzerinde çeşitli işlemler gerçekleştirmenizi sağlayan zengin bir yerleşik dize yöntemi kümesine sahiptir. Bu yöntemler, dizeleri değiştirme, arama ve dönüştürme işlevleri sunar. Yaygın olarak kullanılan bazı dize yöntemleri şunlardır:
len(): Dizedeki bayt sayısını döndürür (ASCII metin için karakter sayısına eşittir).chars().nth(index): Belirtilen dizindeki karakteri döndürür (0 tabanlı). Bu yöntem birOption<char>döndürür: ya Some değeri (dizin mevcutsa) ya da None değeri (mevcut değilse) temsil eden özel bir Rust türüdür. Üzerinde.unwrap()çağrılması, karakter değerini doğrudan çıkarır.
contains(substring): Dizenin belirtilen alt dizeyi içerip içermediğini kontrol eder.starts_with(prefix): Dizenin belirtilen ön ekle başlayıp başlamadığını kontrol eder.ends_with(suffix): Dizenin belirtilen son ekle bitip bitmediğini kontrol eder.
to_uppercase(): Dizeyi büyük harfe dönüştürür.to_lowercase(): Dizeyi küçük harfe dönüştürür.trim(): Dizenin başındaki ve sonundaki boşlukları kaldırır.
Örneğin:
let message = "Hello, World!";
let length = message.len();
let firstChar = message.chars().nth(0).unwrap();
let contains_world = message.contains("World");
let starts_with_hello = message.starts_with("Hello");
let lower = message.to_lowercase();Görev
KolayanalyzeString adlı, girdi olarak bir dize alan ve dize yöntemlerini kullanarak aşağıdaki analizi yazdıran bir metot oluşturun:
- Dizenin uzunluğu
- 4. indisteki karakter
- Dizenin "Rust" alt dizesini içerip içermediği
- Dizenin nokta ile bitip bitmediği
. - Büyük harfe dönüştürülmüş dize
Çıktı tam olarak şu biçimde olmalıdır:
Length: [The length]
Char at 4: [The Char at index 4]
Contains Rust: [true or false]
Ends with dot: [true or false]
Uppercase: [The string in uppercase]Not: Girdi dizesinin tüm işlemler için yeterince uzun olduğunu varsayın.
Kendin dene
use std::io;
fn analyze_string(s: &str) {
// Kodunuzu buraya yazın
}
fn main() {
let mut message = String::new();
io::stdin().read_line(&mut message).unwrap();
let message = message.trim();
analyze_string(message);
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik GirdiKendi başına pratik yap: Online Rust derleyicisi