Rust で文字列を Int に変換する
Nilesh Katuwal
2023年6月21日
この記事では、Rust で文字列を int に変換する方法を説明します。
Rust で str::parse::()
メソッドを使用して文字列を Int に変換する
str::parse::()
メソッドを使用して、文字列を int に直接変換できます。
let string_value = "27".to_string();
let int_value = string_value.parse::<i32>().unwrap();
コード例:
fn main() {
let mut string_one: &str = "789";
let mut i = match string_one.parse::<i32>() {
Ok(i) => i,
Err(_e) => -1,
};
println!("{:?}", i);
}
出力:
789
次に、文字列表現である a
から整数値 i
を抽出します。 次のコードを見てみましょう。
コード例:
fn main() {
let mut a = "789";
let mut i: i32 = a.parse().unwrap_or(0);
println!("{:?}", i);
a = "12u3";
i = a.parse().unwrap_or(0);
println!("{:?}", i);
}
出力:
789
0
usize
のような特定の型に解析したい場合は、usize
に解析するための if-let
ステートメントで特別な Rust turbofish
opertor を使用できます。
コード例:
fn main() {
let data = "60606";
if let Ok(result) = data.parse::<usize>() {
println!("USIZE RESULT: {}", result);
}
}
出力:
USIZE RESULT: 60606
別の文字列内にいくつかの数字がある場合、get()
関数を使用してその文字列からスライスを抽出できます。 次に、数値を解析できます。
コード例:
fn main() {
let value = "a 6789 b";
let inner_part = value.get(2..value.len() - 2).unwrap();
println!("INNER PART: {}", inner_part);
// Tp parse inner part.
let result: u32 = inner_part.parse().unwrap();
println!("PARSED: {0}", result);
}
出力:
INNER PART: 6789
PARSED: 6789