Rust - String
7490 ワード
https://www.tutorialspoint.com/rust/rust_string.htm
TrustのStringデータ型は2種類に分けられます.文字列テキスト(&str) 文字列オブジェクト(文字列)
文字列テキスト(&str)コンパイル時に文字列値を知るために使用
文字列テキストは、変数のハードコーディング文字セットです.
文字列オブジェクトのフォーマットは、標準ライブラリから提供されます.
文字列文字とは異なり、文字列オブジェクトタイプは言語コアの一部ではありません.
標準ライブラリpub struct Stringで共通構造体として定義
文字列オブジェクトは、延長可能なコレクションオブジェクトです.
UTF-8に変更可能かつ符号化
実行時に使用できる文字列
hipに割り当てられた
空の文字列の生成
Sr.No.M e t h o d S ignatureDescription 1 new()pub const fn new()->String空文字列2 to string(&self)->String所与の値を文字列3 replace()fn replace<'aに変換し、P>(&'a self、:P,:&str)->Stringモードのすべての一致項目を別の文字列4 as str()pubfnas str(&self)->&str抽出文字列全体を含む文字列断片5 push(&mut self,ch:char)指定した文字を文字列の末尾の6 push str(&mutself,str)に追加->usize文字列の長さ(バイト単位)8 trim()pubfn trim(&self)->&str前後のスペースの文字列は、9 split whitespace(&self)->SplitWhitesapce文字列のスペース(&self)->Split(pubfn split<'a,P>Split<'charまたはセパレータの11 chars()pub fn chars(&self)->Chars文字列の文字の重複文字であってもよい
new()関数は空の文字列を生成します
Stringオブジェクトのすべてのメソッドにアクセスするには、to string()関数を使用して文字列テキストをオブジェクトタイプに変換します.
replace()関数には2つのパラメータが使用されます
最初のパラメータは、検索する文字列モードです.
2番目のパラメータは、置換する新しい値です.
As str()関数は、文字列全体を含む文字列シートを抽出する
push()関数は、指定されたcharを文字列の末尾に追加します.
push str()関数は、指定された文字列スライスを文字列の末尾に追加します.
len()関数は、文字列の合計文字数(スペースを含む)を返します.
trim()関数文字列から前スペースと後スペースを削除
行のスペースを削除しない
split whitespace()関数は、入力文字列を他の文字列に分割することによって重複文字を返します.
split()関数は、文字列シート内のモードに一致する文字で区切られたサブ文字列の重複文字を返します.
split()関数の制限は、後で使用するために結果を保存できません.
collect関数を使用してsplit()で返された結果をベクトルとして保存
charsメソッドを使用して文字列内の単一文字にアクセス
文字列値は他の文字列に追加できます
文字列接続の結果、新しい文字列オブジェクト
+演算子addメソッドを内部で使用
Stringオブジェクトに追加する別の方法はformatというマクロ関数を使用することです.
TrustのStringデータ型は2種類に分けられます.
String Literal
文字列テキスト(&str)コンパイル時に文字列値を知るために使用
文字列テキストは、変数のハードコーディング文字セットです.
fn main() {
let company:&str="TutorialsPoint";
let location:&str = "Hyderabad";
println!("company is : {} location :{}",company,location);
}
String Object
文字列オブジェクトのフォーマットは、標準ライブラリから提供されます.
文字列文字とは異なり、文字列オブジェクトタイプは言語コアの一部ではありません.
標準ライブラリpub struct Stringで共通構造体として定義
文字列オブジェクトは、延長可能なコレクションオブジェクトです.
UTF-8に変更可能かつ符号化
実行時に使用できる文字列
hipに割り当てられた
Syntax
空の文字列の生成
String::new()
文字列のコピーString::from()
fn main(){
let empty_string = String::new();
println!("length is {}",empty_string.len());
let content_string = String::from("TutorialsPoint");
println!("length is {}",content_string.len());
}
Common Methods - String Object
Sr.No.M e t h o d S ignatureDescription 1 new()pub const fn new()->String空文字列2 to string(&self)->String所与の値を文字列3 replace()fn replace<'aに変換し、P>(&'a self、:P,:&str)->Stringモードのすべての一致項目を別の文字列4 as str()pubfnas str(&self)->&str抽出文字列全体を含む文字列断片5 push(&mut self,ch:char)指定した文字を文字列の末尾の6 push str(&mutself,str)に追加->usize文字列の長さ(バイト単位)8 trim()pubfn trim(&self)->&str前後のスペースの文字列は、9 split whitespace(&self)->SplitWhitesapce文字列のスペース(&self)->Split(pubfn split<'a,P>Split<'charまたはセパレータの11 chars()pub fn chars(&self)->Chars文字列の文字の重複文字であってもよい
new()
new()関数は空の文字列を生成します
fn main(){
let mut z = String::new();
z.push_str("hello");
println!("{}",z);
}
to_string()
Stringオブジェクトのすべてのメソッドにアクセスするには、to string()関数を使用して文字列テキストをオブジェクトタイプに変換します.
fn main(){
let name1 = "Hello TutorialsPoint ,
Hello!".to_string();
println!("{}",name1);
}
replace()
replace()関数には2つのパラメータが使用されます
最初のパラメータは、検索する文字列モードです.
2番目のパラメータは、置換する新しい値です.
fn main(){
let name1 = "Hello TutorialsPoint ,
Hello!".to_string(); //String object
let name2 = name1.replace("Hello","Howdy"); //find and replace
println!("{}",name2);
}
as_str()
As str()関数は、文字列全体を含む文字列シートを抽出する
fn main() {
let example_string = String::from("example_string");
print_literal(example_string.as_str());
}
fn print_literal(data:&str ){
println!("displaying string literal {}",data);
}
push()
push()関数は、指定されたcharを文字列の末尾に追加します.
fn main(){
let mut company = "Tutorial".to_string();
company.push('s');
println!("{}",company);
}
push_str()
push str()関数は、指定された文字列スライスを文字列の末尾に追加します.
len()
len()関数は、文字列の合計文字数(スペースを含む)を返します.
trim()
trim()関数文字列から前スペースと後スペースを削除
行のスペースを削除しない
fn main() {
let fullname = " Tutorials Point \r\n";
println!("Before trim ");
println!("length is {}",fullname.len());
println!();
println!("After trim ");
println!("length is {}",fullname.trim().len());
}
split_whitespace()
split whitespace()関数は、入力文字列を他の文字列に分割することによって重複文字を返します.
fn main(){
let msg = "Tutorials Point has good t
utorials".to_string();
let mut i = 1;
for token in msg.split_whitespace(){
println!("token {} {}",i,token);
i+=1;
}
}
split()
split()関数は、文字列シート内のモードに一致する文字で区切られたサブ文字列の重複文字を返します.
split()関数の制限は、後で使用するために結果を保存できません.
collect関数を使用してsplit()で返された結果をベクトルとして保存
fn main() {
let fullname = "Kannan,Sudhakaran,Tutorialspoint";
for token in fullname.split(","){
println!("token is {}",token);
}
//store in a Vector
println!("\n");
let tokens:Vec<&str>= fullname.split(",").collect();
println!("firstName is {}",tokens[0]);
println!("lastname is {}",tokens[1]);
println!("company is {}",tokens[2]);
}
chars()
charsメソッドを使用して文字列内の単一文字にアクセス
fn main(){
let n1 = "Tutorials".to_string();
for n in n1.chars(){
println!("{}",n);
}
}
Concatenation of Strings with + operator
文字列値は他の文字列に追加できます
文字列接続の結果、新しい文字列オブジェクト
+演算子addメソッドを内部で使用
//add function
add(self,&str)->String {
// returns a String object
}
fn main(){
let n1 = "Tutorials".to_string();
let n2 = "Point".to_string();
let n3 = n1 + &n2; // n2 reference is passed
println!("{}",n3);
}
Type Casting
fn main(){
let number = 2020;
let number_as_string = number.to_string();
// convert number to string
println!("{}",number_as_string);
println!("{}",number_as_string=="2020");
}
Format! Macro
Stringオブジェクトに追加する別の方法はformatというマクロ関数を使用することです.
fn main(){
let n1 = "Tutorials".to_string();
let n2 = "Point".to_string();
let n3 = format!("{} {}",n1,n2);
println!("{}",n3);
}
Reference
この問題について(Rust - String), 我々は、より多くの情報をここで見つけました https://velog.io/@dunyazad/Rust-Stringテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol