반응형

/*********************************************************************************************************
-- Title : [R3.3] 문자열 처리 함수와 정규표현식 및 stringr 패키지
-- Reference : hrd-net
-- Key word : R 정규 표현식 정규표현식 str_extract str_extract_all str_replace stringr package 패키지 str_sub
                  정규식 regular expression
*********************************************************************************************************/


-- R

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# ********************************************
# -- 문자열 처리 함수와 정규표현식
# ********************************************
 
# -- stringr 패키지 설치 
install.packages("stringr")  # 패키지 설치
library(stringr) # 메모리 로딩
 
# -- 정규 표현식
str_extract("abcd12aaa33""[0-9]{2}")                # "12" -> 연속된 숫자2개 추출(첫번째)
str_extract_all("abcd12aaa33""[0-9]{2}")            # "12" "33" -> 모두
str_extract_all("abcd12aaa33fffff""[a-z]{3,}")      # 영문으로 3자 이상인 것 모두 
str_extract_all("abd이순신cd12이사도라aaa33""[가-히]{3,4}")  # 한글로 3자나 4자인 것 모두 
 
# -- 문자열 교체 
= c("김길동","유관순","강감찬","김길동")      
d
dd = str_replace(d, "김길동","홍길동"# 문자열 교체
dd
 
# -- 문자열 추출(substring)
subs = str_sub("abcd12aaa33"3,6# 서브스트링      
subs
 
# -- email 양식  
email = 'mapbak@naver.com; wonyluv@nate.com'
= str_extract_all(email, '\\w{4,}@\\w{3,}.\\w{2,}')     # \\w{n} : 단어
e
 
# -- 주민번호 양식
jumin = '740101-1000000 850505-2000000 930303-9521452'
= str_extract_all(jumin, '\\d{6,}-[1,2,3,4]\\d{6}')     # \\d{n} : 숫
e
 
 
 

cs

반응형

+ Recent posts