我试图在python中使用f字符串将一些变量替换成我要打印的字符串,但我得到了一个语法错误。下面是我的代码:
print(f"{index+1}. {value[-1].replace("[Gmail]/", '')}")我只是在添加了替换后才开始遇到这个问题。我已经检查过很多次了,我确信我没有漏掉一个括号。我知道有很多其他方法可以做到这一点,其中一些可能会更好,但我很好奇为什么这个方法不起作用。
发布于 2021-05-15 04:11:11
看起来这不管用
x = 'hellothere'
print(f"replace {x.replace("hello",'')}")错误
print(f"replace {x.replace("hello",'')}")
^
SyntaxError: f-string: unmatched '('试试这个吧
x = 'hellothere'
print(f"replace {x.replace('hello','')}")单引号'hello'输出为
replace there发布于 2021-05-15 04:11:56
您的问题是双引号内的双引号。下面的代码应该可以正常工作:
print(f"{index+1}. {value[-1].replace('[Gmail]/', '')}")虽然超出了讨论范围,但我仍然不建议您在f-string中使用replace。我认为把它移到一个临时变量会更好。
发布于 2021-05-15 04:11:56
另一种进行字符串格式化的方法(在我看来,这提高了可读性):
print("{0}. {1}".format(index+1,
value[-1].replace("[Gmail]/", "")))https://stackoverflow.com/questions/67540413
复制相似问题