[英]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.