호돌찌의 AI 연구소

 

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] "하느님이 보우하사"

 

 

profile

호돌찌의 AI 연구소

@hotorch's AI Labs

포스팅이 도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!