Hier ist, was ich habe:Ersetzen von Teilstrings unter bestimmten Bedingungen
stem_text = "x^3+21x^2+1x+6"
Und ich möchte es ändern:
stem_text = "x^3+21x^2+x+6"
Hier ist, was mein Code wie folgt aussieht:
indices = [m.start() for m in re.finditer("1x", stem_text)]
for i in indices:
if stem_text[i-1] not in ["0","1","2","3","4","5","6","7","8","9"]:
stem_text = stem_text.replace(stem_text[i:i+2],"x")`
Aber es ersetzt beide Vorkommen von "1x" immer noch.
Ich habe diese beiden Posten verwendet, um mich zu einem Punkt, wo ich denke, was ich haben sollte funktionieren, aber es ist nicht:
- https://softwareengineering.stackexchange.com/questions/148120/python-3-replace-in-strings
- Find all occurrences of a substring in Python
Suchen Sie nur exakte Vorkommen von '1x' zu ersetzen? – ILostMySpoon
Sie könnten versuchen, den regulären Ausdruck zu '\ + 1x' statt nur '1x' zu ändern – LonelyC
Eine einfache Regex wäre hier wirklich einfach. Ersetzen Sie/(\ D) 1x/mit $ 1x –