Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在指定位置将重复字符串拆分到特定字符之外?_Python_Python 3.x - Fatal编程技术网

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]