簡體   English   中英

在 Pandas 中拆分文本並保留分隔符

[英]Split text in Pandas and keep the delimiter

我想用文件路徑和 jar 文件作為分隔符拆分具有多個值的系列。 如何將值拆分為不同的行,以便不丟失“.jar”分隔符

例如:1 /opt/abc/defg/first.jar/opt/dce/efg/second.jar/opt/xyz/prs/third.jar

預期結果:1 /opt/abc/defg/first.jar

2 /opt/dce/efg/second.jar

3 /opt/xyz/prs/third.jar

謝謝

使用積極的后向斷言嘗試str.split

>>> df['path'].str.split('(?<=\.jar)').str[:-1].explode()

0    /opt/abc/defg/first.jar
0    /opt/dce/efg/second.jar
0     /opt/xyz/prs/third.jar
Name: path, dtype: object

您可以使用.str.extractall ,使用模式'(.*?\.jar)'

import pandas as pd

s = pd.Series(['/opt/abc/defg/first.jar/opt/dce/efg/second.jar/opt/xyz/prs/third.jar'])
s.str.extractall('(.*?\.jar)')

                               0
  match                         
0 0      /opt/abc/defg/first.jar
  1      /opt/dce/efg/second.jar
  2       /opt/xyz/prs/third.jar

您可以在拆分后添加".jar"

value = "/opt/abc/defg/first.jar/opt/dce/efg/second.jar/opt/xyz/prs/third.jar"
results = [i + ".jar" for i in value.split(".jar") if i != ""]
print(results)

Output:

['/opt/abc/defg/first.jar', '/opt/dce/efg/second.jar', '/opt/xyz/prs/third.jar']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM