On Monday, December 16, 2013 2:41:08 PM UTC+8, seas...@gmail.com wrote: > I need to replace all tag <b> with <span> after ■. But the result from below > is '■ <span style="REPLACE">D</span> / <font></font>' > > Can you explain what I did wrong, please. > > > > s = '■<b>A</b> <b>B</b> <b>C</b> <b>D</b> / <font></font>' > > soup = BeautifulSoup(s) > > for i in soup.find_all(text='■'): > > tag = soup.new_tag('span') > > tag['style'] = 'REPLACE' > > for ii in i.find_next_siblings(): > > if ii.name=='font' or str(ii).lstrip('')[0:1]=='/': > > break > > else: > > if ii.name=='b': > > tag.string=ii.string > > print(ii.replace_with(tag)) > > print(soup)
I think you should try some descent free editors such as notepad++ for your source codes to replace trivial strings without programmig. -- https://mail.python.org/mailman/listinfo/python-list