Preimenovanje datotek s filmi
Completion requirements
Naloga
Sestavite program, ki popravi imena datotek v trenutnem direktoriju v skladu z naslednjimi pravili.- Spreminjamo samo datoteke s končnicami .avi, .mpg, .mkv, .rm in .mp4.
- Vse pike v imenu je potrebno spremeniti v presledke. Izjema je pika pred končnico. Tako se mora "generals.at.war-the.battle.at.kursk.avi" spremeniti v "generals at war - the battle at kursk.avi"
- Prva beseda mora biti vedno napisana z veliko začetnico ("Generals at war - the battle at kursk.avi")
- Če se v besedilu pojavi pomišljaj, mora biti beseda za njim napisana z veliko začetnico ("Generals at war - The battle at kursk.avi"). Pomišljaj je znak "-", pred in za katerim je presledek. Tule ni pomišljaja: "newton-leibniz".
- Z veliko začetnico morajo biti napisane tudi vse ostale besede, razen končnice in besed a, an, the, above, against, along, alongside, amid, amidst, around, as, aside, astride, at, athwart, atop, before, behind, below, beneath, beside, besides, between, beyond, but, by, down, during, for, from, in, inside, into, of, on, onto, out, outside, over, per, plus, than, through, throughout, till, to, toward, towards, under, underneath, until, upon, versus, via, with, within, without. Zaradi enostavnosti predpostavljamo, da je beseda od ostalega besedila ločena s presledki. To pomeni, da v naslovu "More on Newton-leibniz Discussion.avi" besede leibniz ne obravnavamo kot besedo (ker pred njo ni presledka).
- Končnica mora biti napisana z malimi tiskanimi črkami.
- Zaporedne presledke smemo zamenjati z enim samim presledkom.
Rešitev
Najprej spremenimo vse črke v male črke in razbijemo ime datoteke na osnovo in končnico. Če datoteka nima ustrezne končnice, nadaljujemo (continue
) z naslednjo datoteko.
Če je končnica prava, pa zamenjamo vse pike s presledki in nato razbijemo ime na besede. Nato se zapeljemo čez vse besede in damo veliko začetnico tistim, ki jim je treba dati veliko začetnico. In katere so to? To so prva beseda (i==0
), beseda, pred katero je bil pomišljaj (words[i-1]=="-"
) in tudi vse druge besede, razen tistih s seznama (words[i] not in notCapital
).
Ko je to postorjeno, nam preostane le še, da združimo besede nazaj v ime (join
) in preimenujemo datoteko.
Last modified: Friday, 19 October 2012, 10:18 PM