我正在尝试读取由另一个函数(在我的控制之外)写入的变量,以查找已知单词的存在,然后复制从已知单词开始并在行尾或|
分隔符。
所以我想根据我编写的一个简单的if
语句写入这个变量,但目前它并没有考虑变量中已有的内容并且需要。由于我写的代码使用了各种别名,我试图简化我在下面做的事情
因此,首先将变量'devices'写入其他地方但可供我使用。
我正在读另一个变量'area',如果专门设置为'3',我需要用'box2 | box3'(或'box3 | box2' - 无关紧要)写变量'devices'我可以忽略'设备'的现有内容,除非它在字符串中包含'box1'。它可能出现在字符串中的任何位置,也会被其他数据附加,但它总是在行尾完成,或者由|
分隔符完成。因此,我需要读取整个变量,查找“box1”的存在,并在另一个变量中读取尽可能多的字符,直到它的行末达到|
分隔符。
我能真正分享的唯一代码是:
area = "3"
if area == "3":
devices = "box2|box3"
print devices
假设'devices'包含'box5 | box6_standard | box9 | box8_ex_345 | box1_182',我需要从该字符串中添加box1_182(当我写'devices'变量时将其追加回来 - 我不需要担心该变量的任何其他预先存在的内容。
另一个例子,现有的'devices'变量可能包含'box7 | box1_345 | box6 | box8_ex_345',在这种情况下,我需要先取'box1_345'并将其附加到设备字符串,然后再写'box2' | box3'到它('box2 | box3 | box1_182')
答案 0 :(得分:0)
我会使用正则表达式和in
字来检查devices
是否有'box1'。如果是这样,那么只需将其附加到新的devices
字符串
import re
devices='box5|box6_standard|box9|box8_ex_345|box1_182'
area = "3"
if area == "3":
tdevices = "box2|box3"
if 'box1' in devices:
t=re.search('box1[0-9_:a-zA-Z]*', devices)
devices=tdevices+'|'+t.group()
else:
devices=tdevices
print devices