2017-12-01 20 views
0

文字列のテキストを開始位置から最初の番号の直前に置き換えるには、コマンドのヘルプが必要です。私はこれらすべての場所名とアドレスを単一のフィールドに持つデータフレームを持っていますが、文字列から抽出されたアドレスのみが必要です。検索と置換文字列

文字列を置換するために、このgsubコマンドを使用して、

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

[1] "77 Morello Ave" 

必要な出力:このことができます

777 Morello Ave 

答えて

1

私は\Dを使用しますが、これは数字以外の任意の文字に一致します。 ^\D*はじめての意味で^と一致しています*数字以外の文字\Dと一致します。

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

ショートとキラーのEXP! – Prem

+0

@Avinash Raj、ご返信ありがとうございます。あなたが助けることができるならば、もう1つの質問。このサブコマンドをデータフレーム列に使用する。データファイル2 $ 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と一致する場合にのみ一致します。

関連する問題