我是python中的新手。我的数据采用以下格式的2d阵列。
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
我的第二步是除了括号字符串之外用数组进行搜索(即除了(术语) )。
第三步使用两个数组的子字符串。
如何继续进行第二次和第二次第3步。
任何形式的帮助将不胜感激。 感谢!!!!!!!
答案 0 :(得分:1)
我在解决你所问的问题时遇到了一些麻烦,但也许这会有所帮助:
您可以使用以下内容删除字符串的括号内部分:
thetext = re.sub(r"\(.*?\)", "", thetext)
(N.B。如果你有“((嵌套)括号),这将无法正常工作”)
你可以通过切片获得子串:
thetext[4:10]
thetext[:5] # First 5 characters
thetext[-5:] # Last 5 characters
thetext[:-1] # All but the last character