[英]How Can I search if a Address Set Contains some specific Words
I am writing a program where I have to check if all address in address-set contains speicific key-Word: 我正在编写一个程序,其中我必须检查地址集中的所有地址是否都包含特定的关键字-Word:
For Example A: 例如A:
set group address "Private-MT" "ABCD45-48/70-71"
设置组地址“ Private-MT”“ ABCD45-48 / 70-71”
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD47"
设置组地址“ Private-MT”“ ABCD45-48 / 70-71”添加“ ABCD47”
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD48"
设置组地址“ Private-MT”“ ABCD45-48 / 70-71”添加“ ABCD48”
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD70"
设置组地址“ Private-MT”“ ABCD45-48 / 70-71”添加“ ABCD70”
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD71"
设置组地址“ Private-MT”“ ABCD45-48 / 70-71”添加“ ABCD71”
For Example B: 例如B:
set group address "Private-MT" "ABCD45-48/XYCD70-71"
设置组地址“ Private-MT”“ ABCD45-48 / XYCD70-71”
set group address "Private-MT" "ABCD45-48/XYCD70-71" add "ABCD47"
设置组地址“ Private-MT”“ ABCD45-48 / XYCD70-71”添加“ ABCD47”
set group address "Private-MT" "ABCD45-48/XYCD70-71" add "ABCD48"
设置组地址“ Private-MT”“ ABCD45-48 / XYCD70-71”添加“ ABCD48”
set group address "Private-MT" "ABCD45-48/XYCD70-71" add "XYCD70"
设置组地址“ Private-MT”“ ABCD45-48 / XYCD70-71”添加“ XYCD70”
set group address "Private-MT" "ABCD45-48/XYCD70-71" add "XYCD71"
设置组地址“ Private-MT”“ ABCD45-48 / XYCD70-71”添加“ XYCD71”
in this example, the Address-set name is "ABCD45-48/70-71", so before I delete this address set completely, I need to check that all the members for this address set must have ABCD in there name. 在此示例中,地址集名称为“ ABCD45-48 / 70-71”,因此,在我完全删除该地址集之前,需要检查该地址集的所有成员的名称中都必须包含ABCD。
if they all have ABCD in there name delete entire address-set 如果他们那里都有ABCD,则删除整个地址集
OUTPUT for A: A的输出:
unset group address "Private-MT" "ABCD45-48/70-71"
未设置组地址“ Private-MT”“ ABCD45-48 / 70-71”
else delete specific line. 否则删除特定行。
OUTPUT for B: B的输出:
unset group address "Private-MT" "ABCD45-48/XYCD70-71" add "ABCD47"
未设置组地址“ Private-MT”“ ABCD45-48 / XYCD70-71”添加“ ABCD47”
unset group address "Private-MT" "ABCD45-48/XYCD70-71" add "ABCD48"
未设置组地址“ Private-MT”“ ABCD45-48 / XYCD70-71”添加“ ABCD48”
Your question isn't really clear, but I will ask your question in the title. 您的问题尚不清楚,但是我会在标题中提出您的问题。 If you have a string and you like to search a sub-string you can only use
如果您有字符串,并且想搜索子字符串,则只能使用
if substring in string:
#do what you want to do
another way is to use regular expression, here the documentations re python 另一种方法是使用正则表达式,这里的文档是python
next time please share your script to help everyone to understand your problem ;) 下次请分享您的脚本,以帮助所有人了解您的问题;)
EDIT 编辑
filename = "test.text"
import re
def splitAddresses(data):
addresses=[]
l=[]
pattern=re.compile("^[GROUP]+[0-9]+[:]$")
for element in data:
isAmatch=pattern.match(element)
if isAmatch==None:
l.append(element)
else:
addresses.append(l)
l=[]
addresses.append(l)
return(addresses[1:])
def parseAddress():
with open(filename) as f:
data = f.readlines()
addresses=splitAddresses(data)
for element in addresses:
prefix=element[0][32:36]
length_data=len(element)
for address in element[1:]:
if address.count(prefix)!=2:
element.remove(address)
new_length = len(element)
if new_length==length_data:
print(element[0])
else:
print(element[1:])
parseAddress()
Tried with this file 尝试过此文件
GROUP1:
set group address "Private-MT" "ABCD45-48/70-71"
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD47"
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD48"
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD70"
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD71"
GROUP2:
set group address "Private-MT" "ABCD45-48/70-71"
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD47"
set group address "Private-MT" "ABCD45-48/70-71" add "ABCD48"
set group address "Private-MT" "ABCD45-48/70-71" add "XYCD70"
set group address "Private-MT" "ABCD45-48/70-71" add "XYCD71"
the Output was : 输出为:
set group address "Private-MT" "ABCD45-48/70-71"
['set group address "Private-MT" "ABCD45-48/70-71" add "ABCD47"\n', 'set group address "Private-MT" "ABCD45-48/70-71" add "ABCD48"\n']
you can edit the script and store infos because I did a print to show you that's works ;) 您可以编辑脚本并存储信息,因为我进行了打印以显示效果;)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.