본문 바로가기
프로그래밍/R

[R] string 패턴 표현식 (숫자, 공백, 문자, 특수문자 찾기)

by research_notes 2023. 2. 1.
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() 함수 (예시, 두가지조건 한꺼번에 찾기)

 

[R] which() 함수 (예시, 두가지조건 한꺼번에 찾기)

1. which() 함수?: 함수는 논리 벡터에서 TRUE인 요소의 인덱스를 식별하는 데 사용됩니다. : 데이터 집합에서 특정 조건을 충족하는 요소의 위치를 찾거나 데이터를 추출하는 데 매우 유용함. "어

kimtutor.tistory.com

2023.02.03 - [프로그래밍/R] - [R] 문자열(string) 다루기 #2 함수 nchar(), toupper(), tolower(), strsplit(), paste()

 

[R] 문자열(string) 다루기 #2 함수 nchar(), toupper(), tolower(), strsplit(), paste()

1. nchar(): 문자형 벡터의 문자수 찾기 hello

kimtutor.tistory.com

 

728x90
반응형