python - 从字符串中删除 "."和 "\"

标签 python python-3.x

我的项目是使用 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/

相关文章:

python - 如何将文档字符串传递给 python 中的包装函数?

python - 无法分配 "40": "Group.groupParent_id" must be a "Group" instance

python - 在 python 中使用 trunc 函数

python - 将命令行参数传递给 runpy

python-3.x - PyCharm:致命 Python 错误:init_fs_encoding:无法获取文件系统编码的 Python 编解码器

python - django i18n 翻译中的性别问题

python - 从 Python 2 环境打开 Spyder 仍然在 Spyder 中运行 Python 3

python - 对象不可调用

python - 如何让这段代码每次调用Python时都选择一个随机数?

Python 如何抑制 tkinter mainloop() 进行单元测试