繁体   English   中英

如何搜索字符串的所有出现的 substring 并将该 substring 旁边的 valuenext 存储到 python 中的变量中?

[英]How I search all the occurrence of a substring of a string and store the valuenext to that substring to a variable in python?

string s1 = "abc:12 Hellow world abc:342 hi there abc:15在这里,在 python 中,我想搜索所有'abc'并存储分号后的值。更具体地说,如果我搜索'abc' substring,然后12;342;15值将存储在变量中。

此正则表达式查找所有abc<optional whitespaces>:<optional whitespace><value>其中<value>不得包含空格字符或引号...

import re
data = """
string s1 = "abc:12 Hellow world abc :342 hi there abc :15"
"""

l = re.findall(r'abc\s*:\s*([^\s\"\']+)', data)
print(l)

l是您的值列表并保存['12', '342', '15']

根据您的规范,这不仅限于数值(如果您的值只能是 integer 数字,您可能需要调整正则表达式)

您可以使用正则表达式:

import re

string = "abc:12 Hellow world abc :342 hi there abc :15"
pattern = re.compile(r"abc.*?:(.+?)\b")
matches = pattern.findall(string)

print(matches) # ['12', '342', '15']

演示: https://regex101.com/r/gAQwVs/1

尝试这个

根据您的输入!

 a = [int(x.split(" ")[0][1:]) for x in s1.split("abc")[1:]]
 print(a)

Output

 [12, 342, 15]
 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM