2024-04-25 22:23:48 发布
网友
首先我要说的不是:如何从look here中的字符串中获取整数值
我的问题是:mv=/dev/vg10/lv10:cp:99我需要提取vg10的“10”而不是[10]。mv是一个字符串
我的最终输出应该只有从vg中提取的10个
我的python版本:Python 2.6.1
Python 2.6.1
提前谢谢。。请帮帮我:(
import re mv = '/dev/mapper/vg8-lv8-eSPAN_MAX_d4:eSPAN_MAX_d4:99' print re.findall(r'(?<=vg)\d*', mv)
您应该研究python的正则表达式模块。只需在脚本中“导入re”即可提供regex功能。 顺便说一句,如果您只需要字符串“vg”后面的数字,那么下面的脚本应该可以做到这一点。你知道吗
import re urString = "/dev/vg10/lv10:cp:99" Matches = re.findall("vg[0-9]*", mv) print Matches
现在matches将有一个包含所有vg'number'的列表。[0-9]*表示任意数字,任意次数。再次解析它,从中得到数字。你应该读更多关于正则表达式的书。很有趣。你知道吗
扩展答案以符合OP的要求:
In [445]: Matches Out[445]: ['vg10'] In [446]: int(*re.findall(r'[0-9]+', Matches[0])) Out[446]: 10
你在说这个吗:
import re mv = "/dev/vg10/lv10:cp:99" print re.search('/dev/vg(\d+)', mv).groups()
或者如果vg可以是其他东西,但它始终是您想要的第二项,您可以这样做:
print re.search('/dev/\w+(\d+)/lv10:cp:99', mv).groups()
您应该研究python的正则表达式模块。只需在脚本中“导入re”即可提供regex功能。 顺便说一句,如果您只需要字符串“vg”后面的数字,那么下面的脚本应该可以做到这一点。你知道吗
现在matches将有一个包含所有vg'number'的列表。[0-9]*表示任意数字,任意次数。再次解析它,从中得到数字。你应该读更多关于正则表达式的书。很有趣。你知道吗
扩展答案以符合OP的要求:
你在说这个吗:
或者如果vg可以是其他东西,但它始终是您想要的第二项,您可以这样做:
相关问题 更多 >
编程相关推荐