주어진 텍스트에서 특정 문자 뒤의 문자열 제거


15

아래와 같은 데이터 세트가 있습니다. 문자 © 다음의 모든 문자를 제거하고 싶습니다. R에서 어떻게 할 수 있습니까?

data_clean_phrase <- c("Copyright © The Society of Geomagnetism and Earth", 
"© 2013 Chinese National Committee ")

data_clean_df <- as.data.frame(data_clean_phrase)

특정 문자 뒤에 있습니까, 아니면 특정 색인 뒤에 있습니까?
Dawny33

특정 문자 후 : ©
Hamideh

그렇다면 기존 답변이 귀하의 질문을 해결 한 것처럼 보입니다 :)
Dawny33

답변:


19

예를 들어 :

 rs<-c("copyright @ The Society of mo","I want you to meet me @ the coffeshop")
 s<-gsub("@.*","",rs)
 s
 [1] "copyright "             "I want you to meet me "

또는 @ 문자를 유지하려는 경우 :

 s<-gsub("(@).*","\\1",rs)
 s
 [1] "copyright @"             "I want you to meet me @"

편집 : 마지막 @에서 모든 것을 제거하려는 경우 적절한 정규 표현식 으로이 예를 따라야합니다. 예:

rs<-c("copyright @ The Society of mo located @ my house","I want you to meet me @ the coffeshop")
s<-gsub("(.*)@.*","\\1",rs)
s
[1] "copyright @ The Society of mo located " "I want you to meet me "

우리가 찾고있는 매칭을 감안할 때 sub와 gsub는 동일한 대답을 줄 것입니다.


감사합니다. 텍스트의 마지막 ©에 대해 수행하려면 어떻게해야합니까? 이것을 고려하십시오 : c ( "© aaa © bbb")-> c ( "© aaa")
Hamideh

@HamidehIraj 당신은 사용 할 수 있습니다 정규 표현식에를 그 실행을위한.
Dawny33

1
아니에요. 정규식에 익숙해지면 마지막 @ 문자에서 쉽게 제거 할 수 있음을 알 수 있습니다. 이 사례도 포함하도록 답변을 수정했습니다.
MASL
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.