2017-11-08 4 views
1

ですが、ここにはsimillarの質問がありますが、解決策は少なくとも私のためには機能しません。特定の記号(それを含む)の前に文字列内の文字を削除します。最初は

最初のセミコロンの前に任意の組み合わせですべての文字、文字、数字を削除したいと思います。

だから我々はいくつかの文字列を持っている:

x <- "1;ABC;GEF2" 
y <- "X;EER;3DR" 

はのはのoccurance 0以上で任意のシンボルを意味し.*でそうgsub()をやってみましょう:

gsub(".*;", "", x) 
gsub(".*;", "", y) 

と私は取得結果:

[1] "GEF2" 
[1] "3DR" 

しかし、私はhavしたいe:

セミコロンの最初の代わりに2番目の出現を「キャッチ」したのはなぜですか?

+2

'サブを使用することができます'、1サブ2.非貪欲 –

+2

は( 'sub'すなわち'サブで試してみてください"^ [^;] *;"、 ""、x) ' – akrun

+0

それぞれのソリューションはすごくうれしく、ありがとう! – Adamm

答えて

1

あなたは( "^。* ?;"、 ""、x)は

gsub("[^;]*;(.*)", "\\1", x) 
# [1] "ABC;GEF2" 
関連する問題