1
4

3 に答える 3

1

これを行うことができます:

part <- sub(paste(sep="","(^[a-zA-Z]{",var,"}).*$"), "\\1", "My String", perl=T)
于 2013-03-27T16:54:15.907 に答える
1

これに使うのが好きsprintfです。varたとえば、数字でない場合、エラーが発生します。

var <- 2
pat <- "(^[a-zA-Z]{%d}).*$"
pat <- sprintf(pat, var)
于 2013-03-27T17:07:27.363 に答える
0

コマンドfn$の前にgsubfnパッケージの を付ける$varと、置換される変数を参照するために使用できます。

library(gsubfn)
var <- 2
fn$sub("(^[a-zA-Z]{$var}).*$", "\\1", "My String")

またはstrapplyc、正規表現を簡略化できる同じパッケージから使用します。

fn$strapplyc("My String", "^[a-zA-Z]{$var}", simplify = TRUE)

これは単なる例であり、実際の問題はもっと複雑だと思いますが、これが実際の問題である場合は、より簡単で、substring次を使用するだけで十分かもしれません。

var <- 2
substring("My String", 1, var)
于 2013-03-27T17:05:16.427 に答える