Notice
Recent Posts
Recent Comments
NeuroWhAI의 잡블로그
[Rust] std::str::matches(...) 사용법 본문
예시:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | fn count(value: &str, substr: &str) -> usize { value.matches(substr).count() } fn pick_num(value: &str) -> Vec<&str> { value.matches(char::is_numeric).collect() } fn main() { println!("Count : {}", count("aabcd abaaz zaazxcaxa", "aa")); println!("Numbers : {:?}", pick_num("1a23bc4d")); } | cs |
결과:
Count : 3
Numbers : ["1", "2", "3", "4"]
패턴으로는 &str, char, 클로저가 기본적으로 쓰일 수 있으며 Pattern trait을 구현한 다른 객체들도 쓰일 수 있습니다.
결과로 반환하는 Matches는 Iterator trait을 구현하는 struct라서
next() 등으로 매칭된 결과 요소를 하나씩 뽑아낼 수 있으며
count()로 매칭된 횟수를 얻을수도 있고
collect()를 사용해서 Vec<_>같은 컬렉션으로 바꿀수도 있으며
그냥 for문에 사용할수도 있습니다.
Matches의 자세한 사용법은 공식 문서를 보시면 됩니다.
'개발 및 공부 > 언어' 카테고리의 다른 글
[C++] execution policy - seq, par, par_unseq (0) | 2018.03.04 |
---|---|
[Rust] 함수 반환형에 trait 사용하기 - conservative_impl_trait (0) | 2018.02.05 |
[Rust] str matches - 문자열 검색 (0) | 2018.01.31 |
[Rust] Deref를 구현할때는 고유 메소드를 피하라. (0) | 2018.01.21 |
[C#] using static 지시문 (C# 6) (0) | 2018.01.21 |
Comments