2017-12-01 14 views
0

문자열의 텍스트를 시작 부분과 첫 번째 숫자 바로 앞에서 바꾸려면 명령 도움말이 필요합니다. 나는이 모든 장소 이름과 주소를 가진 데이터 프레임을 단일 필드에 가지고 있지만 문자열에서 추출 된 주소 만 필요합니다.문자열 검색 및 바꾸기

문자열을 바꾸려면이 gsub 명령을 사용하여,

gsub("^.*?\\d","","Gilroy Plant Place 777 Morello Ave") 

[1] "77 Morello Ave" 

필요한 출력 :이 도움이

777 Morello Ave 

답변

1

나는 \D을 사용하고이 문자는 숫자가 아닌 모든 문자와 일치합니다. ^\D*은 처음부터 ^과 일치하며 0이 아닌 이상 * 자 수가 없음 \D입니다.

sub("^\\D*","","Gilroy Plant Place 777 Morello Ave") 
# [1] "777 Morello Ave" 
+0

짧고 살인자! – Prem

+0

@Avinash Raj, 답장을 보내 주셔서 감사합니다. 도움이 될만한 질문이 하나 더 있습니다. 데이터 프레임 열에이 Sub 명령을 사용합니다. datafile2 $ HOME_STREETLINE_2 <- sub ("^ \\ D *", "datafile2 $ HOME_STREETLINE_1) – scorpionz

+0

@scorpionz 나는 당신이'datafile2 [datafile2 $ HOME_STREETLINE_2 == ' ',]'. 권리? – Prem

0

희망! 긍정적 인 내다가 앞서 캐릭터의 외모와 서브 패턴이 일치하는지 확인한다는 것입니다 무엇을

^.*?(?=\d) 

:

gsub(".*?(\\d.*)","\\1","Gilroy Plant Place 777 Morello Ave") 
0

는 긍정적 예측을 사용합니다. 일치하는 경우 하위 패턴보다 먼저 일치하는 항목을 찾습니다. 위의 정규식에서 ^.*?은 일치하는 문자열이 \d과 일치하지만 \d 부분이 일치하지 않는 경우에만 일치합니다.