add(ten)sub(one)
次のような文字列を に分割しようとしています add(ten) sub(one)
。閉じ括弧を一致させる方法がわかりません。re.sub(r'\\)', '\\) ')
私は括弧をエスケープするあらゆるバリエーションを使用してきました。このフォントではわかりにくいですが、後でリストに分割できるように、これらのコマンドの間にスペースを追加しようとしています。
1289 次
3 に答える
1
d = ')'
my_str = 'add(ten)sub(one)'
result = [t+d for t in my_str.split(d) if len(t) > 0]
結果 = ['add(10)','sub(1)']
于 2013-09-06T19:28:10.107 に答える
1
)
置換文字列でエスケープする必要はありません)
。正規表現パターンでのみ特別な意味を持つため、文字列で一致させるためにそこでエスケープする必要がありますが、通常の文字列ではそのまま使用できます。
>>> strs = "add(ten)sub(one)"
>>> re.sub(r'\)(?=\S)',r') ', strs)
'add(ten) sub(one)'
@StevenRumbalski がコメントで指摘したように、上記の操作は and を使用して簡単に実行できstr.replace
ますstr.rstrip
。
>>> strs.replace(')',') ').strip()
'add(ten) sub(one)'
于 2013-09-06T19:15:14.810 に答える