1.2 KiB
1.2 KiB
String.
Types.
String (owned).
Those are familiar strings.
let text: String = String::from("Text!");
let text: String = "Text!".to_string();
&str (slice).
Those are slices.
let text: &str = "Text!";
let text: String = "Text!".to_string();
let ref: &str = &text;
Operations.
Append.
let mut s = String::from("foo");
s.push_str("bar");
Format.
let s1 = String::from("tic");
let s2 = String::from("tac");
let s3 = String::from("toe");
let s = format!("{s1}-{s2}-{s3}");
Trim.
fn trim_me(input: &str) -> String {
input.trim().to_string()
}
Replace.
fn replace_me(input: &str) -> String {
input.replace("cars", "balloons").to_string()
}
Slice.
let s = String::from("Здравствуйте");
let s = &s[0..4]; // Content is "Зд" - first 4 bytes (2 bytes per letter).
Iterate.
// Iterate over UTF character vector.
for c in "Зд".chars() {}
// Iterate over UTF bytes.
for c in "Зд".bytes() {}
// To iterate over UTF letters you need to use an external crate.
Uppercase / Lowercase.
let s = String::from("Hi there!");
let uppercase = s.to_uppercase();
let lowercase = s.to_lowercase();