2

名前が次のパターンに従う多数 (179) のファイルの名前を変更しようとしています。

"104-jacques_brel-le_diable_(ca_va)-just.mp3 TEST"
...
"1517-jacques_brel-la_cathedrale-just.mp3 TEST" 

次のような出力を目指します。

"Le diable (ca va).mp3"
...
"La cathedrale.mp3"

問題は、paste() コマンドしか知らないことです...そのため、次を使用して TEST を名前に正常に (そして愚かにも) 追加できました。

filenames <- list.files()
   filenames[180:181] 
   filenames <- filenames[-c(180:181)]

   files_4dgts<-filenames[c(1:14,21:30,35:80)]
   files_3dgts<-filenames[-c(1:14,21:30,35:80)]


   for (i in 1:length(files_3dgts))
   file.rename(files_3dgts[i],paste(files_3dgts[i],"TEST",sep=""))

   for (i in 1:length(files_4dgts))
   file.rename(files_4dgts[i],paste(files_4dgts[i],"TEST",sep=""))

これは明らかに私の問題に対する解決策ではありません。

4

1 に答える 1

4
music <- c("104-jacques_brel-le_diable_(ca_va)-just.mp3 TEST", 
           "1517-jacques_brel-la_cathedrale-just.mp3 TEST")

# Remove all the digits and irrelevant words
musicwipe <- gsub("[[:digit:]]*-jacques_brel-|-just| TEST", "", music)
# Replace all underscores with spaces
musicspace <- gsub("_", " ", musicwipe)
# Replace first letter with uppercase letter
musicupper <- sub("^([[:alpha:]])", "\\U\\1", musicspace, perl=TRUE)

#Result
musicupper
[1] "Le diable (ca va).mp3" "La cathedrale.mp3" 
于 2013-03-20T11:49:56.973 に答える