Snažím se nahradit (technicky odstranit) úroveň složek z vektoru cesta k souboru strings. Data vypadají takto:
x<-c("d:/KeepItSimple/1234path21/WAVs/filename.wav",
"d:/TryToKeepItSimple/5678path23/WAVs/filename2.wav")
Chtěl bych využít gsub
a regex najít vzor "cesta" v každém řetězci a nahradit řetězec obsahující "cestu" mezi dvě lomítka nic. V podstatě stačí odstranit tuto složku úrovni. Můžete předpokládat, že počet znaků pro pojmenování této složky úrovni, bude vždy obsahovat "cestu" a bude vždy 10 znaků (mezi lomítka).
Po nějaké hlavy poškrábání jsem přišel s tímto:
gsub(".{4}path.{2}", "", x)
To funguje, ale mě to nechává dvě otázky:
- Existuje lepší způsob, jak vyjádřit/dosáhnout v regex.
- Jak jsem to mohl udělat tak, že by podívejte se na vše, co na první /, než "cesta" a další / po "cestě"?