2011-07-03 19 views
1

私はPythonで新しくなりました。次の形式の2次元配列のデータを持っています。Pythonの最長一致

array[0]            array[1] 
Arkan             Adrian Edmondson 
Efgan All            Rik 
'Til Death Do Us Part (Star Trek: Deep Space Nine) Bradley Thompson 
'Til Death Do Us Part (Star Trek: Deep Space Nine) David Weddle 
Billy Sherrill          'Til I Can Make It on My Own (Deep Space) 

ファイル内の各行にこの文字列を一致させたい場合は、両方の配列に一致する場合はその行を返します。

def strinMach(domainL, rangeR): 
    text = "" 
    filetext = open(File, "r").read() 
     sentlist = re.split(u'[\n|\r\n]+',filetext) 
    for i in sentlist: 
     if domainL in i and rangeR in i:     
      text = text + i + "\n" 
     elif (To search for without the parenthesis string from array[0] & array[1] 
       eg.search with (Til Death Do Us Part  Bradley Thompson)) 
     elif (To search with some string from array[0] & array[1] 
       es. search with(Till Death Bradley) or (Do Us Part Thompson)) 
    return text 

私の第二のステップは、(すなわち )項(を除く)カッコ文字列を除く配列でserachingさ: まず、私は私の試みがあったことを各行.FORにアレイの両方を検索します。

第3ステップと両方の配列の部分文字列。

第2ステップの続行方法&第3ステップ。

どんな種類のヘルプをいただければ幸いです。 ありがとう!!!!!!!

+3

をgh * 'の行を開く(thefile、" r ")'はあなたにいくつかの入力を省くはずです。 –

+1

ここでは正確に動作していないものについてもっと説明する必要があります。 – hugomg

+0

実際には、それは動作します!私はまた、かっこの文字列と部分文字列なしで検索したいと思っています。 – Liza

答えて

1

私はあなたが求めているものをワークアウトのトラブルのビットを持つんだけど、多分これが役立ちます。

あなたがして、文字列の括弧部分を削除することができます。

thetext = re.sub(r"\(.*?\)", "", thetext) 

(NBあなたが持っている場合、これは正しく動作しません "((ネスト)括弧)")

あなたはスライスして部分文字列を取得することができます:COU *

thetext[4:10] 
thetext[:5] # First 5 characters 
thetext[-5:] # Last 5 characters 
thetext[:-1] # All but the last character 
+0

ありがとう!!!!!!!!! – Liza

+0

よろしくお願いします! –