Python 如何在指定位置将重复字符串拆分到特定字符之外?
我有一个字符串,我想分割成重复的子字符串,实际上是基于重复模式的新行。以下是原始数据字符串的快速示例:Python 如何在指定位置将重复字符串拆分到特定字符之外?,python,python-3.x,Python,Python 3.x,我有一个字符串,我想分割成重复的子字符串,实际上是基于重复模式的新行。以下是原始数据字符串的快速示例: LS31202010 FG STERLING MR 3X5X10 $3.99 LS31202020 FG STERLING ML 3X5X11 $4.99 我最初的目标是能够根据零件号LS的重复模式将子字符串拆分为新行 我试过: text = "LS31202010 FG STERLING MR 3X5X10 $3.99 LS31202020 FG STERLING ML 3X5X11 $4
LS31202010 FG STERLING MR 3X5X10 $3.99 LS31202020 FG STERLING ML 3X5X11 $4.99
我最初的目标是能够根据零件号LS的重复模式将子字符串拆分为新行
我试过:
text = "LS31202010 FG STERLING MR 3X5X10 $3.99 LS31202020 FG STERLING ML 3X5X11 $4.99"
print(text.split('LS'))
我得到的[,'31202010 FG STERLING MR 3X5X10$3.99','3120200 FG STERLING ML 3X5X11$4.99',接近,但不是预期结果
我需要获得['LS31202010 FG STERLING MR 3X5X10$3.99','LS3120200 FG STERLING ML 3X5X11$4.99']您需要做的唯一一件事就是将LS字符串添加回您的每一行 您可以使用列表理解来完成此操作: text=LS31202010成品英镑MR 3X5X10$3.99 LS3120200成品英镑ML 3X5X11$4.99 行=[LS+l表示文本中的l。如果l!=] 印刷线路 此代码将LS作为前缀添加到找到的所有非空行中
如果需要,还可以使用.strip方法删除前导空格和尾随空格。唯一需要做的就是将LS字符串添加回每一行 您可以使用列表理解来完成此操作: text=LS31202010成品英镑MR 3X5X10$3.99 LS3120200成品英镑ML 3X5X11$4.99 行=[LS+l表示文本中的l。如果l!=] 印刷线路 此代码将LS作为前缀添加到找到的所有非空行中
如果需要,还可以使用.strip方法删除前导空格和尾随空格。Awesome@Corentin Pane。我添加了.rstrip with:lines=[l.rstrip''for l in line],以获得我需要的确切最终结果。Awesome@Corentin Pane。我添加了.rstrip with:lines=[l.rstrip''for l in lines]以获得我需要的确切最终结果。答案是否真的是自我描述的,您不必为插图添加几个词:?答案是否真的自我描述,您不必为插图添加几个词:?
s = "LS31202010 FG STERLING MR 3X5X10 $3.99 LS31202020 FG STERLING ML 3X5X11 $4.99"
lines = ["LS"+x for x in s.split("LS") if x]