정규표현식
library(XML)
line<-readLines(url,encoding=)
str_detect( , ‘특정값’) -특정 값이 있는지 T,F로 출력
strsplit – 구분자 단위로 쪼개기
문자열에서 일치하는 패턴 찾기
str_extract : 첫 패턴만 인식
str_extract_all : 모든 패턴 인식 -> 리스트 출력
[^],[:^ :] : 괄호 안에 ^이 있으면 반대의 의미
ex) [^A-z] : 영어가 아닌 값 추출
\\에 해당하는 경우 대문자이면 반대의 의미
\\w 문자+숫자지만 \\W이면 문자+숫자가 아닌경우
정수 추출 : “\\d”, [0-9], [:digit:]
연결된 대문자 추출‘[A-Z]+’ , [:upper:]
연결된 영어 추출 ‘[A-z]+’ ,[:alpha:]
연결된 소문자 추출’[a-z]+’ , [:lower:]
연결된 소문자 중 길이 제한 : ‘[a-z]{1,4}’
공백 추출 : [:black:], [:space:] <- 두 개가 서로 상이함 \\s
특수문자 추출 : [:punct:]
문자+숫자 추출 : [:alnum:], \\w
공백을 제외한 모든문자 추출 : [:graph:]
공백을 포함한 모든 문자 추출 : [:print:] , .와 같음
str_extract_all(문자열,‘[가-힣]+’) : 한글 단어 추출
str_extract_all(문자열,‘[ㄱ-힣]+’) : 한글 추출 ‘\\p{Hangul}+’도 사용 가능
str_extract_all(문자열,boundary(‘word’)) : 단어 단위로 추출
[0-9ㄱ-힣] 이런식으로 조합해 사용 가능
정량자
* 적어도 0번 매칭
+ 적어도 1번 매칭
? 많아야 한번 매칭
{n} 정확히 n번 매칭
{n,m} n번에서 m번 사이 매칭
ab*cd 이면 a와 cd사이 b 0번이상 가진 값을 추출해준다.
ab*cd 이면 a와 cd사이 b 1번이상 가진 값을 추출해준다.
^문자열 시작위치 매치
$문자열 끝 위치 매치
\\b 단어 양쪽 끝에 빈 문자열이 있으면 추출
\\bda 이면 da로시작하는 단어 중 좌우 하나라도 공백이 있으면 추출
ex)’daa’ ‘a daa ‘a da’
‘dda’는 da로 시작하지 않으므로 추출 안됨
$*+.?[]^{}|()\등을 사용하려면 \을 먼저 적고 사용해야된다
ex) \$
()역참조
gsub(‘ab’, “” ,c(‘ab’,‘ab 1’, ‘ab 3’) -> “” “ 1” “ 3”
gsub('(ab) 1','\\1 34',c('ab','ab 12','ab 3','1','ab1'))
ab를 가진 값 중 ab 1의 1값을 34로 바꾼다.
"ab" "ab 342" "ab 3" "1" "ab1"
str_trim(공백을 제거할 데이터)
pattern
<.+?> or <.*?> <>괄호 안에 문자 제거
(.+?)
“<.*?특정문자” 꺽쇠로 시작하고 특정문자를 포함하는 모든 문자 제거
'R' 카테고리의 다른 글
leaflet 지도그리기 (0) | 2019.04.09 |
---|---|
객체지향언어란 (0) | 2019.04.08 |
이미지 벡터화해서 저장하기 (0) | 2019.03.21 |
R 기본 플롯 사용하기 (0) | 2019.03.19 |
R 개인 패키지만들기에서 간단한 사용법 까지(git을 활용) (0) | 2019.03.16 |