매일공부

[R기초] 정규표현식 & 문자열 본문

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
Comments