Programming/R
[R기초] 정규표현식 & 문자열
aram
2023. 7. 28. 15:27
strsplit('2023/07/27', split='/')
strsplit('2023-07-27', split='-')
#"2023" "07" "27"
grep('pattern', find_data)
- grep('정규식', find_data) : find_data에서 '정규식'의 위치 리턴
- grep('정규식', find_data, value=T) : 일치하는 값을 리턴
char1 <- c("apple",'Apple','APPLE','banana','grape', 'apple2')
grep("apple", char1) #1
# char1 데이터 요소 중 pp 문자열을 가진 data를 출력
grep("pp", char1, value = T) #"apple" "Apple" "apple2"
# char1 데이터 요소 중 대문자 A를 포함하는 문자 출력
grep("A", char1, value=T) #"Apple" "APPLE"
정규표현식
or | | | 대문자 포함 | [A-Z] / [[:upper:]] |
and | & | 소문자 포함 | [a-z] / [[:lower:]] |
s로 시작하는 문자 | "^s" | 영문자 포함 | [A-z] / [A-Za-z] |
s로 끝나는 문자 | "s$" / "[0-9]$" | 문자 포함 | [[:alpha:]] |
범위 | [] | 문자, 숫자 포함 | [[:alnum:]] |
숫자 표현 | [0-9] / [[:digit:]] / \d | 한글 포함 | [ㄱ-힣] |
0에서 9사이의 문자 | [0-9] | 공백문자(space) 포함 | " " / \s / [[:blank:]] |
2에서 5사이의 문자 | [2-5] | 공백제외(non space) | \S |
숫자로 시작하는 | ^[0-9] | 숫자 제외 |
문자열 연산 : 안 됨!
'a' + 'b' # Error in "a" + "b" : non-numeric argument to binary operator
paste() 문자열 결합
- 문자열을 연결하여 하나의 문자열로 return
- 기본 : 공백으로 결합
- sep : a character string to separate the terms.
- collaps : an optional character string to separate the results.
paste('a', 'b') #"a b"
paste('a', 'b', sep="") #"ab"
paste('a', 'b', sep="-") #"a-b"
paste(char4, collapse = '-') #"홍길동-apple-가나다abc-가나다123-이 몽 룡-1234-!@#$-APPLE"
paste(char4, sep = '-') #"홍길동" "apple" "가나다abc" "가나다123" "이 몽 룡" "1234" "!@#$" "APPLE"
subset() 부분문자열
- substr(문자열, 시작인덱스, 종료인덱스) : 문자열 슬라이싱
substr("abc123", 3,3) #c
substr("abc123", 1,3) #abc
#제동거리가 가장 길 때의 속력 speed와 제동거리dist
subset(cars, dist==max(cars$dist))
# speed dist
# 49 24 120
strsplit() 문자열 분리
- strsplit(문자열, split= ) : 하나의 문자열을 분리문자를 이용하여 여러개 문자열로 나눠 리턴
strsplit('2023/07/27', split='/')
strsplit('2023-07-27', split='-')
#"2023" "07" "27"
* 내용참고&출처 : 태그의 수업을 복습 목적으로 정리한 내용입니다.
728x90