2017-05-10 21 views
-1

ベクトルから最初の文字列を抽出したいと思います。例えば、文字列の最初の単語を取得する

y<- c('london/hilss', 'newyork/hills', 'paris/jjk') 

私は記号 "/"、すなわち、

location 
    london 
    newyork 
    paris 
+0

!それはなぜ新しい質問です、それはエスケープ文字について尋ねません。 – user3570187

答えて

1

非常に単純なアプローチgsub

gsub("/.*", '', y) 
[1] "london" "newyork" "paris" 
0

と、この正規表現はまた、正常に動作します前に文字列を取得したいです。

正規表現:^[^\/]+

/が発見されるまで、それは文字列の先頭からマッチングを開始します。

^外の文字クラス[]は、文字列の先頭のためanchorです。

^内部の文字クラスは、negated character classを意味しています。

Regex101 Demo

5

あなたの例では、

y<- c('london/hilss', 'newyork.hills', 'paris-jjk') 

のようなより一般的なケースは、多分、次のために有利になるだろう、簡単ですか?解決策が機能しなかったことを

stringr::str_extract(y, '\\w*') 
2

stringr::str_extract(a, '\\b*')

関連する問題