2017-02-24 17 views
1
xcv(123) 
wert(232) 
t(145) 
tyui ier(133) 
ytie(435) 
... 

文字列の長さは動的です。ランダムです。角括弧の間の数字は、同じデータセット内の新しい列に格納される&を取り出す必要があるターゲット文字です。文字変数から特定の文字を取り出す方法

次のキーワードが役立つかもしれない: substr()strsplit()

私は積極的に答えを探しています。あなたの助けに深く感謝します。

+0

あなたはライブラリー(stringr) '行うことができます。 str_extract(v1、 "(?<= \\()[0-9] +(?= \\))") 'または別のオプションは' library(readr); parse_number(v1) ' – akrun

+0

最後の文字列にあなたの言葉は4文字しか持っていません(私がこれを正しく理解していると仮定して)。期待どおりの出力を追加する必要があります。 2番目のものと同じ – Sotos

答えて

0

xcvという文字列から、たとえば123rdの文字を抽出しますか?

set.seed(123) 
xcv <- paste(sample(letters, 200, replace = TRUE), collapse = "") 
n <- 123 

あなたがそうのようn番目の文字を抽出することができます。

substr(xcv, n, n) 

# [1] "i" 
0

dat = c('xcv(123)' ,'wert(232)', 't(145)', 'tyui ier(133)', 'ytie(435)') 
target = gsub(".*\\(|\\).*", "", dat) #captures anything in between '(' and ')'. We use \\(and \\) to denote the brackets since they are special characters. 
cbind(dat, target) 

    dat    target 
[1,] "xcv(123)"  "123" 
[2,] "wert(232)"  "232" 
[3,] "t(145)"  "145" 
[4,] "tyui ier(133)" "133" 
[5,] "ytie(435)"  "435" 
関連する問題