반응형
/*********************************************************************************************************
-- 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자인 것 모두 # -- 문자열 교체 d = c("김길동","유관순","강감찬","김길동") d dd = str_replace(d, "김길동","홍길동") # 문자열 교체 dd # -- 문자열 추출(substring) subs = str_sub("abcd12aaa33", 3,6) # 서브스트링 subs # -- email 양식 email = 'mapbak@naver.com; wonyluv@nate.com' e = str_extract_all(email, '\\w{4,}@\\w{3,}.\\w{2,}') # \\w{n} : 단어 e # -- 주민번호 양식 jumin = '740101-1000000 850505-2000000 930303-9521452' e = str_extract_all(jumin, '\\d{6,}-[1,2,3,4]\\d{6}') # \\d{n} : 숫 e | cs |
반응형