Как заменить слово в строке Python - PullRequest
1 голос
/ 21 февраля 2020

Я хочу заменить, например, слово «p1» на «p10» в приведенном ниже строковом предложении. Я попробовал несколько методов, но не смог. Надеюсь, что вы можете предоставить мне простой python код того, как решить эту проблему. Ура.

"(2*(-2 + d)*m1^2*j[MI, 0, 1] + 2*(-3 + d)*m1^2*j[MI, 1, 1]*(m1^2 - m2 - SPD[p1, p1]) - (-2 + d) * j[MI, 1, 0]*(m1^2 + m2 - SPD[p1, p1]))\/(2*m1^2*((m1^2 - m2)^2 - 2*(m1^2 + m2)*SPD[p1, p1] + SPD[p1, p1]^2))"

1 Ответ

0 голосов
/ 28 февраля 2020

вы можете использовать str.replace:

s = "(2*(-2 + d)*m1^2*j[MI, 0, 1] + 2*(-3 + d)*m1^2*j[MI, 1, 1]*(m1^2 - m2 - SPD[p1, p1]) - (-2 + d) * j[MI, 1, 0]*(m1^2 + m2 - SPD[p1, p1]))\/(2*m1^2*((m1^2 - m2)^2 - 2*(m1^2 + m2)*SPD[p1, p1] + SPD[p1, p1]^2))"
s.replace('p1', 'p10')

или использовать регулярное выражение:

import re
re.sub('p1', 'p10', s)

output:

'(2*(-2 + d)*m1^2*j[MI, 0, 1] + 2*(-3 + d)*m1^2*j[MI, 1, 1]*(m1^2 - m2 - SPD[p10, p10]) - (-2 + d) * j[MI, 1, 0]*(m1^2 + m2 - SPD[p10, p10]))\\/(2*m1^2*((m1^2 - m2)^2 - 2*(m1^2 + m2)*SPD[p10, p10] + SPD[p10, p10]^2))'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...