Python Regular Expressions
Andy Barnes
andy.barnes at gmail.com
Wed Jun 22 10:26:04 EDT 2011
to expand. I have parsed one of the lines manually to try and break
the process I'm trying to automate down.
source:
Theurgic Lore, Lore, n/a, 105, 70, 30, Distil Mana
output:
TheurgicLore [label="{ Theurgic Lore |{Lore|n/a}|{105|70|30}}"];
DistilMana -> TheurgicLore;
This is the steps I would take to do this conversion manually:
1) Take everything prior to the first comma and remove all the spaces,
insert it into a newline:
TheurgicLore
2) append the following string ' [label="{ '
TheurgicLore [label="{
3) append everything prior to the first comma (this time we don't need
to remove the spaces)
TheurgicLore [label="{ Theurgic Lore
4) append the following string ' |{'
TheurgicLore [label="{ Theurgic Lore |{
5) append everything between the 1st and 2nd comma of the source file
followed by a '|'
TheurgicLore [label="{ Theurgic Lore |{Lore|
6) append everything between the 2nd and 3rd comma of the source file
followed by a '}|{'
TheurgicLore [label="{ Theurgic Lore |{Lore|n/a}|{
7) append everything between the 3rd and 4th comma of the source file
followed by a '|'
TheurgicLore [label="{ Theurgic Lore |{Lore|n/a}|{105|
8) append everything between the 4th and 5th comma of the source file
followed by a '|'
TheurgicLore [label="{ Theurgic Lore |{Lore|n/a}|{105|70|
9) append everything between the 5th and 6th comma of the source file
followed by a '}}"];'
TheurgicLore [label="{ Theurgic Lore |{Lore|n/a}|{105|70|30}}"];
Those 9 steps spit out my fist line of output file as above
"TheurgicLore [label="{ Theurgic Lore |{Lore|n/a}|{105|70|30}}"];" I
now have to parse the dependancies onto a newline.
# this next process needs to be repeated for each prerequisite, so if
there are two pre-requisites it would need to keep parsing for more
comma's.
1a) take everything between the 6th and 7th comma and put it at the
start of a new line (remove spaces)
DistilMana
2a) append '-> '
DistilMana ->
3a) append everything prior to the first comma, with spaces removed
DistilMana -> TheurgicLore
This should now be all the steps to spit out:
TheurgicLore [label="{ Theurgic Lore |{Lore|n/a}|{105|70|30}}"];
DistilMana -> TheurgicLore;
More information about the Python-list
mailing list