1. ホーム
  2. regex

[解決済み] R 文字列から最初の文字を削除する

2022-02-12 04:10:23

質問

文字列から最後の1文字を削除することができます。

listfruit  <- c("aapplea","bbananab","oranggeo")
gsub('.{1}$', '', listfruit)

しかし、文字列から最初の文字を削除しようとすると、問題が発生します。 また、最初の文字と最後の文字を削除することもできません。 ご教授いただければ幸いです。

解決方法は?

最初の文字を削除する必要がある場合は sub であれば、1文字にマッチする ( . は1文字を表します)、それを '' .

sub('.', '', listfruit)
#[1] "applea"  "bananab" "ranggeo"

あるいは、最初と最後の文字については、文字列の先頭の文字にマッチします ( ^. ) または文字列の末尾 ( .$ で置き換えてください。 '' .

gsub('^.|.$', '', listfruit)
#[1] "apple"  "banana" "rangge"

グループとして捕らえ、後方参照に置き換えることも可能です。

sub('^.(.*).$', '\\1', listfruit)
#[1] "apple"  "banana" "rangge"


もう一つの選択肢は substr

substr(listfruit, 2, nchar(listfruit)-1)
#[1] "apple"  "banana" "rangge"