Getting Substring in Python -
i have string fullstr = "my|name|is|will" , , extract substring "name". used string.find find first position of '|' this:
pos = fullstr.find('|') and return 2 first position of '|' . want print substring pos position until next '|'. there's rsplit feature, return first char right of string, since there're many '|' in string. how print substring?
you can still use find if want, find first position of | , next one:
fullstr = "my|name|is|will" begin = fullstr.find('|')+1 end = fullstr.find('|', begin) print fullstr[begin:end] similar way using index:
fullstr = "my|name|is|will" begin = fullstr.index('|')+1 end = fullstr.index('|', begin) print fullstr[begin:end] another way find occurrences of | in string using re.finditer , slice indexes:
import re = [sub.start() sub in re.finditer('\|', fullstr)] print fullstr[all[0]+1:all[1]] you can take re.search:
import re fullstr = "my|name|is|will" print re.search(r'\|([a-z]+)\|', fullstr).group(1) there interesting way using enumerate:
fullstr = "my|name|is|will" = [p p, e in enumerate(fullstr) if e == '|'] print fullstr[all[0]+1:all[1]] and easiest way using split or rsplit:
fullstr = "my|name|is|will" fullstr.split('|')[1] fullstr.rsplit('|')[1]
Comments
Post a Comment