2017-06-26 23 views
1

このデータを検討します。文字列の最後の文字までの抽出

str <- c("OTB_MCD_100-119_0_0", "PS_SPF_16-31_0_0", "PP_DR/>16-77") 

このような文字列にそれを作るためにどのように?

str 
[1] "OTB_MCD" "PS_SPF" "PP_DR" 

substrを試しましたが、文字の長さが異なる場合は機能しません。

+0

"")空白で置き換え、文字列の最後($)までのアルファベット([^A-Za-z]*)ではありません0以上の文字が続くゼロ個以上_に一致するようにsubを使用することができますあなたが何をしたいのかははっきりしていませんが、ハイフンの後に*常に*削除するビットですか? – anotherfred

+0

最初の桁(最後のハイフンを除いたもの)を停止したい – Arault

答えて

2

我々は

sub("_*[^A-Za-z]*$", "", str) 
#[1] "OTB_MCD" "PS_SPF" "PP_DR" 
+0

申し訳ありませんが、動作しません:[1] "OTB_MCD" "PS_SPF" "PP_DR /> 16-77" –

+0

@JeppeOlsen投稿を更新しました – akrun

関連する問題