Это одна из проблем, в которой я застрял - и разочарован, потому что должен быть другой путь:
Я пытаюсь добиться того, чтобы разобрать множество путей / имен файлов в R.имена выглядят так:
name1 <- "alpha234#181225235959/alpha234#181225235959_pic_4_1-8_9_19_90.dat"
name2 <- "alpha123#181225235959#Tag/alpha123#181225235959#Tag_pic_4_1-8_9_19_90.dat"
Я хочу удалить бит до первого /
и иметь одну строку, соответствующую материалу после /
и до первого #
, а другойк вещам после первого #
, включая любые последующие #
с.
Вот что я делаю на первом шаге (до /
):
splitname1 <- strsplit(name1, "/")
splitname1
[[1]]
[1] "alpha234#181225235959" "alpha234#181225235959_pic_4_1-8_9_19_90.dat"
и аналогичнодля name2
:
splitname2 <- strsplit(name2, "/")
splitname2
[[1]]
[1] "alpha123#181225235959#Tag" "alpha123#181225235959#Tag_pic_4_1-8_9_19_90.dat"
Здесь возникает проблема.Я использую strsplit
, чтобы разобраться с «хвостом» из вышеприведенного шага:
strsplit(splitname1[[1]][2], "#")
[[1]]
[1] "alpha234" "181225235959_pic_4_1-8_9_19_90.dat"
strsplit(splitname2[[1]][2], "#")
[[1]]
[1] "alpha123" "181225235959" "Tag_pic_4_1-8_9_19_90.dat"
, тогда я получаю либо две строки, либо одну.Никакому количеству paste
и тому, что я рассмотрел, не удалось объединить две строки таким образом, чтобы можно было обрабатывать два случая (где это необходимо или нет).
Должен быть лучший способ.