프로그래밍/R
[R] string 패턴 표현식 (숫자, 공백, 문자, 특수문자 찾기)
research_notes
2023. 2. 1. 00:50
728x90
반응형
텍스트에서 특정 패턴을 찾을 때 사용되는 패턴 표현식!
gsub(pattern, replacement, x, ignore.case = F)
1. 숫자를 포함하는 텍스트 찾기
- "[[:digit:]]"
- "\\d"
- "[0-9]"
food_list <-c("pizza", "sausage1", "hotdog", "PIZZA9", "ramen", "spicy_ramen", "119")
# [:digit:]
grep("[[:digit:]]", food_list, ignore.case = TRUE)
[1] 2 4 7
# \d
grep("\\d", food_list, ignore.case = TRUE)
[1] 2 4 7
# [0-9]
grep("[0-9]",food_list, ignore.case = TRUE)
[1] 2 4 7
2. 알파벳을 포함하는 텍스트 찾기
- "[[:alpha:]]"
- "\\D"
- "[^0-9]"
- "[A-z]"
- "[:lower:][:upper:]"
* [:lower:] or [a-z] ==> 소문자
* [:upper:] or [A-Z] ==> 대문자
food_list <-c("pizza", "sausage1", "hotdog", "PIZZA9", "ramen", "spicy_ramen", "119")
# [:alpha:]
grep("[[:alpha:]]", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6
# \\D
grep("\\D", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6
# [^0-9]
grep("[^0-9]", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6
# [A-z]
grep("[A-z]", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6
# [:lower:][:upper:]
grep("[[:lower:][:upper:]]", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6
3. (숫자 + 알파벳) 모두 포함하는 텍스트 찾기
- "[[:alnum:]]"
- "[[:alpha:][:digit:]]"
- "[A-z0-9]"
- "\w"
food_list <-c("pizza", "sausage1", "hotdog", "PIZZA9", "ramen", "spicy_ramen", "119")
# [:alnum:]
grep("[[:alnum:]]", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6 7
# [:alpha:][:digit:]
grep("[[:alpha:][:digit:]]", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6 7
# [A-z][0-9]
grep("[A-z0-9]", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6 7
# \\w
grep("\\w", food_list, ignore.case = TRUE)
[1] 1 2 3 4 5 6 7
4. 숫자 또는 알파벳이 아닌 텍스트 찾기
<단어가 아닌 것>
- "\\W"
- "[^A-z0-9]"
<간격/공백>
- "\\s"
- " "
<간격 아님>
- "\S"
<특수기호>
- "[:punct:]" ==> ! " # $ % & ’ ( ) * + , - . / : ; < = > ? @ [ ] ^ _ ` { | } ~.
2024.05.19 - [프로그래밍/R] - [R] which() 함수 (예시, 두가지조건 한꺼번에 찾기)
728x90
반응형