簡體   English   中英

如何為 python 中列表的每個 object 提取兩個標記之間的字符串

[英]How to extract strings between two markers for each object of a list in python

我得到了一個字符串列表。 這些字符串包含所有兩個標記。我很想為該列表中的每個字符串提取這兩個標記之間的字符串。

例子:

markers 'XXX' and 'YYY' --> therefore i want to extract 78665786 and 6866 

['XXX78665786YYYjajk', 'XXX6866YYYz6767'....]

您可以遍歷您的列表並獲取 substring 您可以執行以下操作:

import re

my_list = ['XXX78665786YYYjajk', 'XXX6866YYYz6767']
output = []
for item in my_list:
    output.append(re.search('XXX(.*)YYY', item).group(1))

print(output)

Output:

['78665786', '6866']
import re
l = ['XXX78665786YYYjajk', 'XXX6866YYYz6767'....]
l = [re.search(r'XXX(.*)YYY', i).group(1) for i in l]

這應該工作

另一種解決方案是:

import re
test_string=['XXX78665786YYYjajk','XXX78665783336YYYjajk']
int_val=[int(re.search(r'\d+', x).group()) for x in test_string]

命令split()將字符串拆分為不同的部分。

list1 = ['XXX78665786YYYjajk', 'XXX6866YYYz6767']
list2 = []

for i in list1:
    d = i.split("XXX")
    for g in d:
        d = g.split("YYY")
        list2.append(d)

print(list2)

它已保存到列表中

暫無
暫無

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

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