R의 문자열에서 모든 특수 문자를 제거하시겠습니까?
R의 문자열에서 모든 특수 문자를 제거하고 공백으로 대체하는 방법은 무엇입니까?
제거할 특수 문자는 다음과 같습니다.~!@#$%^&*(){}_+:"<>?,./;'[]-=
해봤습니다regex
와 함께[:punct:]
패턴이지만 구두점만 제거합니다.
질문 2: 그리고 다음과 같은 외국어에서 문자를 제거하는 방법:â í ü Â á ą ę ś ć
?
답변 : 사용[^[:alnum:]]
제거할~!@#$%^&*(){}_+:"<>?,./;'[]-=
및 사용[^a-zA-Z0-9]
또한 제거합니다.â í ü Â á ą ę ś ć
에regex
또는regexpr
기능들.
기본 R의 솔루션:
x <- "a1~!@#$%^&*(){}_+:\"<>?,./;'[]-="
gsub("[[:punct:]]", "", x) # no libraries needed
정규식을 사용하여 원하지 않는 문자를 식별해야 합니다.가장 쉽게 읽을 수 있는 코드의 경우 패키지에서 를 원하지만 기본 R에서도 마찬가지로 작동합니다.
정확한 정규식은 당신이 무엇을 하려고 하는지에 따라 달라집니다.질문에서 지정한 특정 문자만 제거할 수 있지만 모든 구두점 문자를 제거하는 것이 훨씬 쉽습니다.
x <- "a1~!@#$%^&*(){}_+:\"<>?,./;'[]-=" #or whatever
str_replace_all(x, "[[:punct:]]", " ")
(기본 R 등가물은gsub("[[:punct:]]", " ", x)
.)
또는 영숫자가 아닌 모든 문자를 스왑 아웃할 수 있습니다.
str_replace_all(x, "[^[:alnum:]]", " ")
문자, 숫자 또는 구두점 표시를 구성하는 항목의 정의는 로케일에 따라 조금씩 다르므로 원하는 항목을 정확하게 얻기 위해 약간의 실험이 필요할 수 있습니다.
정규식을 사용하여 해당 "미친" 문자를 제거하는 대신 ASCII로 변환하면 액센트는 제거되지만 문자는 유지됩니다.
astr <- "Ábcdêãçoàúü"
iconv(astr, from = 'UTF-8', to = 'ASCII//TRANSLIT')
결과적으로
[1] "Abcdeacoauu"
특수 문자를 아포스트로피로 변환합니다.
Data <- gsub("[^0-9A-Za-z///' ]","'" , Data ,ignore.case = TRUE)
아래 코드에서 추가 '' 아포스트로피를 제거합니다.
Data <- gsub("''","" , Data ,ignore.case = TRUE)
사용하다gsub(..)
특수 문자를 아포스트로피로 대체하는 기능
언급URL : https://stackoverflow.com/questions/10294284/remove-all-special-characters-from-a-string-in-r
'programing' 카테고리의 다른 글
아이콘에 대한 Mipmap 그리기 표 (0) | 2023.06.18 |
---|---|
Next는 어떻게 만들까요?Js는 제가 제 웹사이트에서 사용한 모든 외부 자산을 다운로드하여 로컬에서 서비스합니까? (0) | 2023.06.18 |
플라스크-SQL 연금술 행 정보 업데이트 (0) | 2023.06.18 |
가져오기 오류: '클릭'에서 '_unicodefun' 이름을 가져올 수 없습니다. (0) | 2023.06.18 |
C#/에 대한 좋은 품질의 코드 적용 범위를 위해 무엇을 사용할 수 있습니까?NET? (0) | 2023.06.18 |