Harlin Seritt wrote: > I looked all over the net but could not find if it is possible to > insert wildcards into strings. What I am trying to do is this: I am > trying to parse text from a Bible file. In case you're not familiar > with the way the Bible organizes itself, it is broken down into Books > > Chapters > Verses. The particular text I am working with are organized > into Book files (*.txt -- flat text file). Here is what the file looks > like: > > {1:1} Random text here. {1:2} More text here. and so on. > > Of course the {*} can be of any length, so I can't just do .split() > based on the length of the bracket text. What I would like to do is to > .split() using something akin to this: > > textdata.split('{*}') # The '*' being a wildcard > > Is this possible to do? If so, how is it done?
You can use the split function in the re module with a suitable regular expression: >>> re.split('{\d+:\d+}', textdata) ['', ' Random text here. ', ' More text here. and so on.'] {\d+:\d+} means 'match {, then one or more digits, then :, then one or more digits, then }'. re.split('{.*}', textdata) would be a more direct translation of your wildcard, but that doesn't work: .* matches as much as possible, so in your example it would match '{1:1} Random text here. {1:2}' instead of just '{1:1}' and '{1:2}'. -- If I have been able to see further, it was only because I stood on the shoulders of giants. -- Isaac Newton Roel Schroeven -- http://mail.python.org/mailman/listinfo/python-list