stringr 패키지 소개
- R에서 문자 데이터를 다루는 데 필요한 주요 함수를 담고있음
- 다음과 같은 기능들 가능
- 패턴을 포함하고 있는지 확인 (str_detect)
- 패턴을 삭제(str_remove), 교체(str_replace), 추출(str_extract), 인덱스로 자르기(str_sub)
- 문자열을 하나로 묶음(str_c) 또는 구분자 기준으로 분리(str_split)
- 문자열의 양 옆에 있는 공백 제거(str_trim) 등
stringr 패키지 주요 함수 1 : 패턴 포함 여부 확인
- 문자열을 담고 있는 객체에서 찾고자 하는 패턴이 포함되어 있는지 여부를 확인 가능
> library(stringr)
> library(dplyr)
> string <- '동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세'
> string %>% str_detect(pattern = '우리나라')
[1] TRUE
> string %>% str_detect(pattern = '하나님')
[1] FALSE
stringr 패키지 주요 함수 2 : 패턴을 한 번 또는 모두 삭제
- 문자열에서 맨 처음 나오는 패턴을 한 번 삭제 가능
> string %>% str_remove(pattern = ' ')
[1] "동해물과백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세"
- 지정한 패턴이 여러번 나오는 경우, 모두 삭제 가능, 다음 예제는 띄어쓰기 모두제거(형태소 분석할때 okt같은건 안쪼개지는데, nlp4kec같은 경우 잘 쪼개진다고 한다)
> string %>% str_remove_all(pattern = ' ')
[1] "동해물과백두산이마르고닳도록하느님이보우하사우리나라만세"
stringr 패키지 주요 함수 3 : 패턴을 한 번 또는 모두 교체
- 문자열에서 맨 처음 나오는 패턴을 한번 교체
> string %>% str_replace(pattern = ' ', replacement = '_')
[1] "동해물과_백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세"
- 지정한 패턴이 여러 번 나오는 경우, 모두 교체
> string %>% str_replace_all(pattern = ' ', replacement = '_')
[1] "동해물과_백두산이_마르고_닳도록_하느님이_보우하사_우리나라_만세"
stringr 패키지 주요 함수 4 : 패턴을 한 번 또는 모두 추출
- 문자열에서 맨 처음 나오는 패턴을 한 번 추출
> string %>% str_extract(pattern = '우')
[1] "우"
- 지정한 패턴이 여러 번 일때 모두 추출(결과는 리스트인 것을 유의)
> string %>% str_extract_all(pattern = '우')
[[1]]
[1] "우" "우"
- simplify = TRUE추가하면 리스트 대신 행렬로 출력
> string %>% str_extract_all(pattern = '우', simplify = TRUE)
[,1] [,2]
[1,] "우" "우"
stringr 패키지 주요 함수 5 : 문자열 인덱스로 자르기
- 문자열의 인덱스를 이용하여 필요한 부분만 자를 수 있음
> string %>% str_sub(start = 1, end = 2)
[1] "동해"
> string %>% str_sub(start = 3, end = 4)
[1] "물과"
> string %>% str_sub(start = 6, end = 7)
[1] "백두"
stringr 패키지 주요 함수 6 : 문자열 하나로 묶음
- paste, paste0과 비슷하다
> str_c('주말은','달달하다')
[1] "주말은달달하다"
> str_c('주말은','달달하다', sep = ' ')
[1] "주말은 달달하다"
stringr 패키지 주요 함수 7 : 문자열 구분자로 분리
- 하나의 문자열을 특정 구분자를 기준으로 여러 개의 문자열로 분리 가능, 결과는 리스트임을 유의
> string %>% str_split(pattern = ' ')
[[1]]
[1] "동해물과" "백두산이" "마르고" "닳도록" "하느님이" "보우하사" "우리나라" "만세"
stringr 패키지 주요 함수 8 : 양 옆의 공백 제거
- 문자열 양 옆에 있는 불필요한 공백을 제거 가능
> string <- '\r\n\t\t\t\t 하느님이 보우하사 \r\n\t\t\t\t'
> string
[1] "\r\n\t\t\t\t 하느님이 보우하사 \r\n\t\t\t\t"
> string %>% str_trim()
[1] "하느님이 보우하사"
'Programming > R' 카테고리의 다른 글
[Crawling] KBReport 2019 정규시즌 투수 Stat Crawling (0) | 2021.07.22 |
---|---|
R 정규표현식 기본문법 (0) | 2021.07.17 |
[Crawling] RSelenium (0) | 2021.07.02 |
[Crawling] JavaScript가 사용된 Webpage 긁기 (0) | 2021.06.22 |
[Crawling] XML, JSON in R (0) | 2021.06.17 |