I'm trying to use f-strings in python to substitute some variables into a string that I'm printing, and I'm getting a syntax error. Here's my code:
print(f"{index+1}. {value[-1].replace("[Gmail]/", '')}")
I only started having the problem after I added the replace. I've checked plenty of times and I'm certain that I'm not missing a parenthesis. I know that there are plenty of other ways to accomplish this, some of which are probably better, but I'm curious why this doesn't work.
Your problem is double quotes inside double quotes. For example,
f"hello ' this is good"
f'hello " this is good'
f"hello " this breaks"
f'hello ' this breaks'
This one should work correctly:
print(f"{index+1}. {value[-1].replace('[Gmail]/', '')}")
Out of scope but still I do not advise you to use replace
inside f-string
. I think that it would be better to move it to a temp variable.