python - 如何在Python中的数字的不同位置添加点分隔符?

标签 python regex

我试图从字符串中捕获数字,该字符串有时包含点分隔符,有时不包含。无论如何,我需要一个带有点分隔符的数字。

例如:

num = re.findall('\d{3}\.(?:\d{2}\.){4}\d{3}|\d{14}', txt)[0]

将捕获两种变体:

304.33.44.52.03.002
30433445203002

如果它捕获了没有点的点,我需要使用以下系统添加点:

AAA.BB.CC.DD.EE.FFF

如何使用 Python 添加这些点?

最佳答案

没有正则表达式的解决方案。

您可以将其转换为 list并在所需位置插入点,确保值为 string .

n = 30433445203002
l = list(str(n))

在需要的位置添加点

l.insert(3, '.')
l.insert(6, '.')
l.insert(9, '.')
l.insert(12, '.')
l.insert(15, '.')

如果这是明确定义的模式。您可以概括上面的插入。

插入完成后,join他们回到字符串:

num = "".join(l)

输入:

30433445203002

输出:

304.33.44.52.03.002

关于python - 如何在Python中的数字的不同位置添加点分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53976250/

相关文章:

python - 带有通配符的 Scrapy 选择 id

python - 在redis中存储带有过期前缀的键

python - 分割多个细胞的图像并 split 成单个细胞

javascript - 使用替换 JavaScript

java - 在 Windows/Linux/OSX 上提取完整文件名

python - 递归问题

python - Twine 每次都要求我输入密码 : how to use the . pypirc

Notepad++ 中的正则表达式 - 在 Notepad++ 中删除 “\n”字符后的换行符 “$”

javascript - JavaScript 中的 Regex .test() 可以测试整个字符串吗?

python - 写入 .CSV 文件时出现问题?