我正在使用Python 2.7.3
我正在尝试根据多行字符串为字符串drive
分配一个字母。驱动器号可能总是不同,索引也可能总是在字母所在的位置不同。
在以下字符串中,我们可以看到该字母为K
。
string = Volume 2 RAW Partition 8 MB Healthy\n K:\XYZ\
在此字符串中,我们可以看到该字母为H
。
string2 = Volume 2 NEW VOLUME FAT Partition 8 MB Healthy\n H:\XYZ\
到目前为止,我可以使用以下内容查看字符串是什么,但我不确定如何使用replace来查找字母。 (提示:这将是#four spaces here
+ .*
+ \\XYZ
)...
if re.search(r'.*Volume.*\n.*XYZ.*', mainLine):
drive = mainLine.replace(r'.*Volume.*\n .*:\\XYZ.*', )
print drive
答案 0 :(得分:2)
假设每个源字符串总是只有一个':',紧跟在驱动器号后面:
drive = source[source.index(':') - 1]
答案 1 :(得分:1)
您可以使用以下正则表达式执行此操作:
s = re.search(r'(\w):\\\w+', string).group(1)
s2 = re.search(r'(\w):\\\w+', string2).group(1)
>>> print s
K
>>> print s2
H
您的字符串必须如下:
string = 'Volume 2 RAW Partition 8 MB Healthy\n K:\XYZ\\'
string2 = 'Volume 2 NEW VOLUME FAT Partition 8 MB Healthy\n H:\XYZ\\'