数字排序R中的字符串列表

cha*_*isz 1 r

我有一个清单:

a <- ["12file.txt", "8file.txt", "66file.txt"]
Run Code Online (Sandbox Code Playgroud)

我想按数字排序:

a would be: ["8file.txt", "12file.txt", "66file.txt"]
Run Code Online (Sandbox Code Playgroud)

现在我只能得到这个:

a = ["12file.txt", "66file.txt", "8file.txt"]
Run Code Online (Sandbox Code Playgroud)

谢谢

ale*_*han 6

我假设你有一个字符向量:

a <- c("12file.txt", "8file.txt", "66file.txt")
Run Code Online (Sandbox Code Playgroud)

我会通过拉出每个字符串开头的数字并对其进行排序来解决这个问题:

num <- as.numeric(sub("([0-9]+).*", "\\1", a))
a[order(num)]
#[1] "8file.txt"  "12file.txt" "66file.txt"
Run Code Online (Sandbox Code Playgroud)