Rust程式語言的String
物件有提供trim
方法,可以用來去除字串頭尾的空白字元,不過這個方法會回傳字串切片(& str
),而不會去更動到原來的String
物件。不過在少數情況下,我們還是希望原來的String
物件可以真正被trim
。
Trim in-place
「Trim in-place」是筆者開發的套件,提供了一個TrimInPlace
特性,可以用來擴充String
結構體的trim*
方法,多出可以改變自身的trim*_in_place
方法。
Crates.io
Cargo.toml
trim-in-place = "*"
使用方法
使用use
關鍵字來將trim_in_place
這個crate底下的TrimInPlace
特性給引用到當前的程式範圍下,接著String
結構體就有trim*_in_place
方法可以使用了。
例如:
use trim_in_place::TrimInPlace;
let mut s = String::from(" 1234 abcd ");
s.trim_in_place();
assert_eq!("1234 abcd", s);
use trim_in_place::TrimInPlace;
let mut s = String::from(" 1234 abcd ");
s.trim_start_in_place();
assert_eq!("1234 abcd ", s);