1

いくつかのデータが与えられた場合

hello <- c('13.txt','12.txt','14.txt')

数値を取得して数値に変換したい、つまり.txtを削除したい

4

4 に答える 4

7

パッケージfile_path_sans_extからご希望の場合tools

library(tools)
hello <- c('13.txt','12.txt','14.txt')
file_path_sans_ext(hello)
## [1] "13" "12" "14"
于 2013-03-20T02:00:27.783 に答える
5

これは、元の投稿の「hello」オブジェクトで関数gsubを使用して正規表現で行うことができます。

hello <- c('13.txt','12.txt','14.txt')
as.numeric(gsub("([0-9]+).*","\\1",hello))
#[1] 13 12 14
于 2013-03-20T02:11:11.580 に答える
3

別の正規表現ソリューション

hello <- c("13.txt", "12.txt", "14.txt")
as.numeric(regmatches(hello, gregexpr("[0-9]+", hello)))
## [1] 13 12 14
于 2013-03-20T02:31:49.630 に答える
1

拡張機能がすべてわかっている場合.txtは、使用できますsubstr()

> hello <- c('13.txt','12.txt','14.txt')
> as.numeric(substr(hello, 1, nchar(hello) - 3))
#[1] 13 12 14
于 2013-03-20T04:36:29.803 に答える