String Metotları
Coddy'nin Rust Journey'sinin Fundamentals bölümünün bir parçası — ders 69 / 75.
Rust, dizeler üzerinde çeşitli işlemler gerçekleştirmenize olanak tanıyan zengin bir yerleşik dize yöntemleri kümesine sahiptir. Bu yöntemler; dizeleri işlemek, aramak ve dönüştürmek için işlevler sağlar. İşte yaygın olarak kullanılan bazı dize yöntemleri:
len(): Dizedeki karakter sayısını döndürür.chars().nth(index): Belirtilen indeksteki (0 tabanlı) karakteri döndürür. Bu metot birOption<char>— ya Some bir değer (eğer indeks mevcutsa) ya da None (mevcut değilse) temsil eden özel bir Rust türü döndürür. Üzerinde.unwrap()çağırmak, 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 önekle başlayıp başlamadığını kontrol eder.ends_with(suffix): Dizenin belirtilen sonekle 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
KolayGirdi olarak bir dize alan ve dize metotlarını kullanarak aşağıdaki analizi yazdıran analyzeString adında bir metot oluşturun:
- Dizenin uzunluğu
- 4. indeksteki karakter
- Dizenin "Rust" alt dizesini içerip içermediği
- Dizenin bir nokta
.ile bitip bitmediği - Dizenin büyük harfe dönüştürülmüş hali
Çıktı tam olarak şu formatta 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: Giriş dizesinin tüm işlemler için yeterince uzun olacağını varsayın.
Kopya kağıdı
Rust yerleşik dize (string) metotları:
len(): Karakter sayısını döndürürchars().nth(index).unwrap(): Belirtilen dizindeki karakteri döndürür (0 tabanlı)contains(substring): Dizinin belirtilen alt diziyi içerip içermediğini kontrol ederstarts_with(prefix): Dizinin belirtilen önek ile başlayıp başlamadığını kontrol ederends_with(suffix): Dizinin belirtilen sonek ile bitip bitmediğini kontrol ederto_uppercase(): Diziyi büyük harfe dönüştürürto_lowercase(): Diziyi küçük harfe dönüştürürtrim(): Baştaki ve sondaki boşlukları kaldırır
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();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.
Fundamentals 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 Girdi