Python 子字符串 - 将第 n 个字符拆分到某个字符串的左侧

标签 python python-3.x split substring

我有以下示例字符串:

0015CB,0,0,01,006D,0016CF1,4,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00F4E7D,1,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,0008184,8,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FA704,9,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,0014EC8,2,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FAEEA,9,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FADE9,5,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FA5A5,3,000D

请问我如何在 "000D" 的每次迭代中获取左侧的 9 个字符,因此第一个结果将是:

0016CF1,4

第二次提取将是:

00F4E7D,1

第三个是:

0008184,8

等我已经尝试过 split 函数,但很难掌握正则表达式。

最佳答案

不需要正则表达式,你可以使用 split 和 slice 的组合:

s = "0015CB,0,0,01,006D,0016CF1,4,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00F4E7D,1,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,0008184,8,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FA704,9,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,0014EC8,2,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FAEEA,9,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FADE9,5,000D,01,0202,01,0E09,01,02,00,006D,0000,0,0,01,006D,00FA5A5,3,000D"

my_list = [e[-9:] for e in s.split(",000D")]
print(my_list)

输出:

['0016CF1,4', '00F4E7D,1', '0008184,8', '00FA704,9', '0014EC8,2', '00FAEEA,9', '00FADE9,5', '00FA5A5,3', '']

关于Python 子字符串 - 将第 n 个字符拆分到某个字符串的左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63005445/

相关文章:

python-3.x - 如何等到声音文件以 Python 3.6 中的 vlc 结尾

list - 将整数列表拆分为正整数列表和负整数列表

javascript - 删除括号拆分Javascript/Jquery

python深拷贝和浅拷贝并传递引用

python - 我想使用我数据库中的条目进行部署

python-3.x - 在 python 3x 中创建以 0 开头的随机数

python-3.x - 为什么我会收到 `SyntaxWarning: invalid escape sequence\s` 警告?

javascript - 使用 split 在 javascript 中创建一个 2 级数组

python - 如何从 sklearn 中的 ColumnTransformer/Pipeline 中排除特定列?

python - open()函数python默认目录