いくつかのセグメントから作成された文字列があります。これらのセグメントは分離されていませんが、重複していません。これは次のようになります。
<python><regex><split>
私はに分割したいと思います:
<python>, <regex>, <split>
私はそれを行うための最も効率的な方法を探していますが、同時に可能な限り少ないコードで。'>'を'>'などに変更することはできますが、冗長な操作は行いたくありません。正規表現を使用してそれを行うことは可能ですか?
re.findallを試してください:
import re
your_string = '<python><regex><split>'
parts = re.findall(r'<.+?>', your_string)
print parts # ['<python>', '<regex>', '<split>']
>>> re.sub(r'<(.+?)>',r'<\1>,','<python><regex><split>')[:-1]
'<python>,<regex>,<split>'
入力データが本当に単純な場合は、.replace()文字列に組み込まれているメソッドを使用できます。
>>> '<python><regex><split>'.replace('><', '>, <')
'<python>, <regex>, <split>'
より複雑な場合は、入力/期待される出力のより良い例を示す必要があります。