web-dev-qa-db-ja.com

文字列の最初(または最後)のn文字を抽出します

文字列の最初の(または最後の)n文字を抽出したい。これは、ExcelのLEFT()およびRIGHT()と同等です。小さな例:

# create a string
a <- paste('left', 'right', sep = '')
a
# [1] "leftright"

bの最初の4文字に等しい文字列であるaを生成したい:

b
# [1] "left"

私は何をすべきか?

65
Lisa Ann

?substrをご覧ください

R> substr(a, 1, 4)
[1] "left"
71
rcs

stringrパッケージはstr_sub関数を提供します。これはsubstrよりも少し使いやすく、特に文字列の適切な部分を抽出したい場合:

R> str_sub("leftright",1,4)
[1] "left"
R> str_sub("leftright",-5,-1)
[1] "right"
41
juba

Rbaseパッケージから始まるRight()およびLeft()関数を簡単に取得できます。

  • 正しい機能

    right = function (string, char){ substr(string,nchar(string)-(char-1),nchar(string)) }

  • 左機能

    left = function (string,char){ substr(string,1,char) }

これらの2つのカスタム関数は、Excelのleft()およびright()とまったく同じように使用できます。あなたがそれが役に立つことを願っています

19
Andrea Cirillo

シンプルにし、Rの基本機能を使用します。

# To get the LEFT part:
> substr(a, 1, 4)
[1] "left"
> 
# To get the MIDDLE part:
> substr(a, 3, 7)
[1] "ftrig"
> 
# To get the RIGHT part:
> substr(a, 5, 10)
[1] "right"

substr()関数は、開始位置と停止位置を示しますsubstr(x, start, stop)

1
Marcos RF