1

たとえば、括弧内に数字があるスペースなしの文字列から数字を抽出する必要があります。

"auxiliary[0]"

私が考えることができる唯一の方法は次のとおりです。

def extract_num(s):    
   s1=s.split["["]
   s2=s1[1].split["]"]
   return int(s2[0])

これは非常に不器用に思えますが、それを行うためのより良い方法を知っている人はいますか? (番号は常に「[ ]」括弧内にあります)

4

4 に答える 4

2

正規表現を使用して数値を取得します。ドキュメントを参照してください:http://docs.python.org/2/library/re.html

何かのようなもの:

import re
def extract_num(s):
  m = re.search('\[(\d+)\]', s)
  return int(m.group(1))
于 2013-02-06T16:36:12.130 に答える
1
print a[-2]

print a[a.index(']') - 1]

print a[a.index('[') + 1]
于 2013-02-06T16:36:56.363 に答える
0
for number in re.findall(r'\[(\d+)\]',"auxiliary[0]"):
    do_sth(number)
于 2013-02-06T16:40:03.080 に答える