によって後方の文字列私はこのようになります文字列を持っている:私が欲しいものスライスインデックス
((id = id_2) AND (condition1 = condition2))
が最初で終わる文字列を取得することです「)」と後方まで関連する「(」その後。 これまでのところ、私のコードは次のようなものです:
original_string = '((id = id_2) AND (condition1 = condition2))'
while ')' in original_string:
needed_string = original_string[original_string.index(')'):original_string.index('('):-1][::-1]
original_string.replace(needed_string, 'False')
これまでのところ、私のコードは次のようなものです。
これは機能し、最初の繰り返しの後に私が望むものを得る:
needed_string = '(id = id_2)'
original_string = '(False AND (condition1 = condition2))'
しかし、次の反復では、私が取得:
needed_string = 'False AND (condition1 = condition2)'
私は2回目の反復のために欲しいです:
needed_string = '(condition1 = condition2)'
私は置き換える使用した後、original_stringは次のように見えるように:
original_string = '(False AND False)'
このようにして、3回目の反復中:
needed_string = '(False and False)'
と、
original_string = 'False'
を交換した後、私のpythonに新しいですので、これはOKである場合はこれを行うことには良い方法がありますかどうかはわからないんだけど、それが行われなければなりません簡単な方法で(サードパーティのライブラリを使用せずに)トークン化
を使用しようとすることができ、この問題を解決するために
、https://sexpdata.readthedocs.io/en/latest/ – enedil
サードパーティのライブラリを使用せずに完了しなければならないことを忘れてしまった –
あなたのコードがどのように動作するのかを知るために、それぞれの反復に対して望ましい出力を提供するために質問を編集してください。 – manglano