我的项目是使用 gspread 模块从 Google 表格中捕获日志编号。但是现在的问题是抓取的日志号是字符串“.\1300”的形式。我只想要字符串中的数字,但无法使用以下代码将其删除。
尝试使用 .replace() 函数将“\”替换为“”但失败了。
a='.\1362'
a.replace('\\',"")
应该得到没有符号的字符串“1362”。 但是得到的结果是“.^2”
最佳答案
问题是 \136
有特殊含义(类似于 \n
表示换行符,\t
表示制表符等)。貌似代表^
.
查看以下示例:
a = '.\1362'
a = a.replace('\\',"")
print(a)
b = r'.\1362'
b = b.replace('\\',"")
print(b)
生产
.^2
.\1362
现在,如果您的 Google 表格模块发送 .\1362
而不是 .\\1362
,这很可能是因为您实际上应该收到 .^2
。或者,您的字符编码过程中出现了问题。
我在 b
变量上添加的 r
修饰符表示 raw string,这意味着 Python 不会解释反斜杠并保留您的字符串。这仅在手动输入字符串时真正有用,但您或许可以尝试:
a = r'{}'.format(yourStringFromGoogle)
编辑:正如评论中所指出的,原始代码实际上丢弃了 .replace() 方法的结果。我已经更新了代码,但请注意,字符串插值问题仍然存在。
关于python - 从字符串中删除 "."和 "\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58228547/