답변:
정규 표현식과 함수로 gsub():
group <- c("12357e", "12575e", "197e18", "e18947")
group
[1] "12357e" "12575e" "197e18" "e18947"
gsub("e", "", group)
[1] "12357" "12575" "19718" "18947"
어떤 gsub여기 일은 각각의 발생을 교체하는 것입니다 "e"빈 문자열로 "".
자세한 내용은 ?regexp또는 참조하십시오 gsub.
fixed=TRUER이 정규식을 사용하지 못하게하여보다 유연한 패턴 일치를 허용하지만 계산 시간이 걸립니다. 필요한 모든 것이 단일 상수 문자열 "e"를 제거하는 것이라면 필요하지 않습니다.
sub("e", "", group)같은 결과를 저장?
e각 요소에 발견을
정규식은 친구입니다.
R> ## also adds missing ')' and sets column name
R> group<-data.frame(group=c("12357e", "12575e", "197e18", "e18947")) )
R> group
group
1 12357e
2 12575e
3 197e18
4 e18947
이제 gsub()가장 간단한 대체 패턴을 사용하십시오 : 빈 문자열 :
R> group$groupNoE <- gsub("e", "", group$group)
R> group
group groupNoE
1 12357e 12357
2 12575e 12575
3 197e18 19718
4 e18947 18947
R>
require(stringr);group$groupNoE <- str_replace(group$group, "e", "")
str_replacewraps sub이므로 처음 나타나는 패턴 만 대체합니다. str_replace_all와 동일한 동작을 원하면 사용해야 합니다 gsub.
문자열을 바꾸는 두 가지 방법을 요약하면 다음과 같습니다.
group<-data.frame(group=c("12357e", "12575e", "197e18", "e18947"))
1) 사용 gsub
group$group.no.e <- gsub("e", "", group$group)
2) stringr패키지 사용
group$group.no.e <- str_replace_all(group$group, "e", "")
둘 다 원하는 출력을 생성합니다.
group group.no.e
1 12357e 12357
2 12575e 12575
3 197e18 19718
4 e18947 18947
일부 문자를 바꾸려면 문자열 벡터에서 데이터 프레임을 만들 필요가 없습니다. @Andrie와 @Dirk Eddelbuettel에 의해 이미 언급되었으므로 정규식이 적합합니다.
점과 같은 특수 문자를 바꾸려면 아래 예제와 같이 정규식 구문을 완전히 사용해야합니다.
ctr_names <- c("Czech.Republic","New.Zealand","Great.Britain")
gsub("[.]", " ", ctr_names)
이것은 생산할 것이다
[1] "Czech Republic" "New Zealand" "Great Britain"
gsub("\\.", " ", ctr_names)
fixed = TRUE이것을 더 빨리 만들 것입니다.