簡體   English   中英

從python中的字符串中提取特定數字,然后是命令行參數變量

[英]Extract a particular number followed by a command line argument variable from a string in python

首先我說這是不是這樣的:如何從一個字符串中獲得整數值這里看看 ..ok所以

我的問題是: mv = / dev / vg10 / lv10:cp:99我需要提取vg10的“ 10”而不是[10]。 mv是一個字符串

我的最終輸出應該只有10,應該從vg中提取

我的python版本: Python 2.6.1

在此先感謝..請幫助我:(

您應該查看python的正則表達式模塊。 只需在腳本中“導入”即可提供正則表達式功能。 順便說一句,如果您只希望字符串“ vg”后面的數字,那么以下腳本應該可以解決問題。

import re
urString = "/dev/vg10/lv10:cp:99"
Matches = re.findall("vg[0-9]*", mv)
print 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()
import re

mv =  '/dev/mapper/vg8-lv8-eSPAN_MAX_d4:eSPAN_MAX_d4:99'

print re.findall(r'(?<=vg)\d*', mv)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM