+ 2
Symbol replacement in python
There's a string: a = 's+4-3' I need to replace (invert) + with - and - with + to get: 's-4+3' What is the way of doing that?
2 Réponses
+ 7
print(a.replace('+','.').replace('-','+').replace('.','-'))
+ 4
Now with two additional realisations. I, personally, like the dictionary variation pretty much as it is most flexible with minimal effort for extension:
a = 's+4-3'
print("Original string:				%s" % (a))
swap_a = a.replace('+','.').replace('-','+').replace('.','-')
print("String after swapping operators, procedure (1):	%s" % (swap_a))
swap_b = ""
for char in a:
	if char == '+':
		swap_b += '-'
	elif char == '-':
		swap_b += '+'
	else:
		swap_b += char
print("String after swapping operators, procedure (2):	%s" % (swap_b))
swapDict = {'+': '-','-': '+'}
swap_c = ''.join(swapDict[char] if char in swapDict else char for char in a)
print("String after swapping operators, procedure (3):	%s" % (swap_c))



