Я провел прошлой ночью, пытаясь разобраться со строками в Python3. Было бы очень полезно с вашей стороны, если бы вы помогли мне решить эту проблему.Выполнить выборочную замену на строку python?
Итак, предположим, что я строка, как это:
a = "√22+34-4+√(2+3)/5+√3"
NB: строка а является пользовательский ввод и может меняться каждый раз.
я хочу управлять строку быть таким:
a = "√(22)+34-4+√(2+3)/5+√(3)"
тогда я могу заменить "√" на "SQRT" с использованием a.replace("√","sqrt").
Есть предложения? И извините за мой плохой английский :) Спасибо
То, что вы пытаетесь сопоставить, это что-то вроде «√», за которым следует строка цифр, но не √ с последующим выражением в круглых скобках », правильно? Это довольно сложно написать с точки зрения чистых методов 'str', но относительно легко писать в терминах регулярных выражений или' pyparsing', или почти что-либо еще. – abarnert
Если ваш вопрос действительно о том, как изменить строку python: вы не можете (по крайней мере, не «на месте»). Тем не менее, вы можете создавать новые строки на основе предыдущего. http://stackoverflow.com/questions/9189172/python-string-replace –
@abarnet & Ricardo Cárdenes: Я хочу сделать, чтобы поймать цифры, следующие за √, и останавливается, когда есть «+» или «-» или « * "или"/"или" ("или") ". Ответ arshaji достаточно хорош для моей проблемы. Я могу использовать регулярное выражение «re». Большое спасибо за ответы :) –