NeuroWhAI의 잡블로그

[Rust] str matches - 문자열 검색 본문

개발 및 공부/언어

[Rust] str matches - 문자열 검색

NeuroWhAI 2018. 1. 31. 19:02



1
2
fn matches<P>(&self, pat: P) -> Matches<P> 
    where P: Pattern

대충 이렇게 생긴 str에 있는 메소드 입니다.

입력으로는 Pattern을 받는데 일단 &str, char, 클로저를 넣을 수 있습니다.
Pattern에 관해서는 나중에 공부해서 올려보겠습니다.

Matches를 반환하는데 요놈이 Iterator를 구현하고 있으므로 결과를 다양하게 사용할 수 있습니다.
아래처럼 collect부터해서 count로 개수를 알수도 있고 각 값을 따로 처리할수도 있습니다.

1
2
3
4
5
let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
assert_eq!(v, ["abc""abc""abc"]);
 
let v: Vec<&str> = "1abc2abc3".matches(char::is_numeric).collect();
assert_eq!(v, ["1""2""3"]);

표준 라이브러리를 하나하나 알아가는게 그 언어를 깊게 이해하는 과정 중 하나라고 생각합니다!
...
너무 많습니다 흑흑


Comments