close_btn
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

".", "\w","\d","\s"를 배웠습니다. 영문자, 숫자, 공백을 다루는 법을 알게된 것이지요. 남은 한글과 특수문자에 대해 알려드릴게요 !

#######################################################

 

txt <- "abcd 0123 +-.,!@# ABCD 가나다라"
ge_Hangul<-gregexpr("\\p{Hangul}",txt,perl=TRUE)
index<-ge_Hangul[[1]]
len<-length(index)
for ( i in 1:len)
{
cat(substr(txt,index[i],index[i]))
}ge_dot<-gregexpr(".",txt,perl=TRUE)
ge_w<-gregexpr("\\w",txt,perl=TRUE)
ge_s<-gregexpr("\\s",txt,perl=TRUE)set_bf<-setdiff(ge_dot[[1]],ge_w[[1]])
set_bf2<-setdiff(set_bf,ge_s[[1]])
set_done<-setdiff(set_bf2,ge_Hangul[[1]])

index<-set_done
len<-length(index)
for ( i in 1:len)
{
cat(substr(txt,index[i],index[i]))
}

 

> txt <- "abcd 0123 +-.,!@# ABCD 가나다라"
> ge_Hangul<-gregexpr("\\p{Hangul}",txt,perl=TRUE)
> index<-ge_Hangul[[1]]
> len<-length(index)
> for ( i in 1:len)
+ {
+ cat(substr(txt,index[i],index[i]))
+ }
가나다라 

"\\p{Hangul}"을 통해 정규표현식에서 한글을 찾아낼 수 있습니다. 트위터 등 글로벌 데이터를 분석할 때 한글 데이터만 가지고 오고 싶다면 이러한 정규표현식을 통해 확인하면 되겠지요 !!! 물론 이렇게 하면 시간이 오래 걸리므로 트위터의 경우에는 어느 국가의 데이터 인지 별도로 제공하기는 합니다.

결과 값이 "가나다라"로 잘 출력 됩니다 !

 

> set_bf<-setdiff(ge_dot[[1]],ge_w[[1]])
> set_bf2<-setdiff(set_bf,ge_s[[1]])
> set_done<-setdiff(set_bf2,ge_Hangul[[1]])
>
> index<-set_done
> len<-length(index)
> for ( i in 1:len)
+ {
+ cat(substr(txt,index[i],index[i]))
+ }
+-.,!@#

그렇다면 특수분자는 어떻게 구분해야 할까요? 모든 문자를 뜻하는 "."에서 영문자와 숫자를 의미하는 "\w"를 제외하고 공백 "\s"를 제거한 후 한글 (또는 영어제외 다른 언어)을 제거하면 특수문자가 됩니다. setdiff라는 여집합 함수를 이용하였습니다. setdiff(ge_dot[[1]],ge_w[[1]]) 이라하면 "."을 만족하는 문자위치집합에서 "\w"를 만족하는 것들을 제외시켜라는 말입니다.

결과값이 "+-.,!@#"로 원하는 결과값이 출력되었습니다 ! 주의해야 할 점은 언더바 "_"는 특수문자가 아니라 "\w"에 포함되어 있다는 점 기억해야합니다 !

 

 

 

?
  • ?
    meadc 2017.02.09 18:21 SECRET

    "비밀글입니다."

  • ?
    자두 2019.04.11 13:58
    그러면 한 데이터 안에 들어있는 특수문자들의 개수를 구하는건 어떻게 해야하는건가요?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 초급 R 강의 게시판 이용 관련 공지사항 1 DataMarket 2014.05.21 511915
50 초급 [BigData - R강의 초급] 정규표현식 regular expression 4강 (1) – Anchors "^", "$" 2 DataMarket2 2014.05.23 101682
49 초급 [BigData - R강의 초급] 정규표현식 regular expression 3강 – alternation "|" DataMarket2 2014.05.23 96709
48 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(4) – 게으른 수량자 "+?", "*?", "{n,}?" 1 DataMarket2 2014.05.23 110275
47 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(3) – 수량자 "?" 1 DataMarket2 2014.05.23 109655
46 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(2) – 수량자 {} 1 DataMarket2 2014.05.23 104350
45 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(1) – 수량자 “+”, “*” DataMarket2 2014.05.23 107124
44 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(4) – 문자열 형태표현 ".", "\W", "\D", "\S" DataMarket2 2014.05.23 94866
» 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(3) – 문자열 형태표현 "\p{Hangul}"(한글), 특수문자 2 DataMarket2 2014.05.23 102200
42 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(2) – 문자열 형태표현 “\d”, “\s” DataMarket2 2014.05.23 93639
41 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(1) – 문자열 형태표현 ".", "\w" 3 DataMarket2 2014.05.23 113697
40 초급 [BigData - R강의 초급] 따옴표를 문자열로 인식시키려면? - escaper \ DataMarket2 2014.05.23 69633
39 초급 [BigData - R강의 초급] 문자열 패턴 regular expression 연습 DataMarket2 2014.05.23 70281
38 초급 [BigData - R강의 초급] 문자열 검색 – grep, regexpr, gregexpr DataMarket2 2014.05.23 100683
37 초급 [BigData - R강의 초급] 문자열 찾아바꾸기 – sub, gsub 1 DataMarket2 2014.05.23 90894
36 초급 [BigData - R강의 초급] 문자열 나누기 – strsplit, str_split DataMarket2 2014.05.23 105945
35 초급 [BigData - R강의 초급] 문자열 일부 추출 – substr(), str_sub() 비교 2 DataMarket2 2014.05.23 102213
34 초급 [BigData - R강의 초급] 문자열 포멧 출력 – sprintf 함수 1 DataMarket2 2014.05.23 59766
33 초급 [BigData - R강의 초급] 문자열 길이 – nchar 함수 1 DataMarket2 2014.05.23 57838
32 초급 [BigData - R강의 초급] 문자열 이어붙이기 - paste, paste0 함수 1 DataMarket2 2014.05.23 69632
31 초급 [BigData - R강의 초급] 결측치 처리 함수 - complete.cases DataMarket2 2014.05.23 50921
Board Pagination ‹ Prev 1 2 ... 3 Next ›
/ 3

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5