А если не будет скобок? Просто -1--2(так же могут быть варианты ввода "-1-2" и "1--2")Если формат отображения всегда такой, то можно поробовать такой костыль использовать
Python:"-1-(-2)".replace('-(', '~(')
Если формат отображения будет меняться, то тогда уже нужно будет регулярку составлять
Вот еще несколько вариантов:У меня есть пример "-1-(-2)", как мне заменить только второй минус так, что бы получилось например "-1~(-2)"?
s = "-1-(-2)"
s = s[0] + s[1:].replace('-', '~', 1)
print(s)
s = "-1-(-2)"
s = '~'.join([s[:2], s[3:]])
print(s)
s = "-1-(-2)"
s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-')
print(s)
А если не будет скобок? Просто -1--2(так же могут быть варианты ввода "-1-2" и "1--2")Вот еще несколько вариантов:
Python:s = "-1-(-2)" s = s[0] + s[1:].replace('-', '~', 1) print(s)
Python:s = "-1-(-2)" s = '~'.join([s[:2], s[3:]]) print(s)
Python:s = "-1-(-2)" s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-') print(s)
Задача была заменить 2й минус на тильду. Для вариантов ввода:А если не будет скобок? Просто -1--2(так же могут быть варианты ввода "-1-2" и "1--2")
-1--2
, -1-2
, 1--2
можно использовать этот код:s = "1--2"
s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-')
print(s)
s = "-1-2"
s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-')
print(s)
s = "-1--2"
s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-')
print(s)
зачем ты все время по три реплейса суешь? один это делает, для чего еще два.Задача была заменить 2й минус на тильду. Для вариантов ввода:-1--2
,-1-2
,1--2
можно использовать этот код:
Python:s = "1--2" s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-') print(s) s = "-1-2" s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-') print(s) s = "-1--2" s = s.replace('-', '@', 1).replace('-', '~', 1).replace('@', '-') print(s)
Задача заменить второйзачем ты все время по три реплейса суешь? один это делает, для чего еще два.
-
в строке на ~
:-
на @
-
на ~
@
на -
(восстанавливает первый минус)