我有以下代碼,內容self.asStringToCopyFromStatment如下所示。我遇到的問題是,給定具有以下值的行,4.0 -99 13.07 -99它不會插入到字串中,self.asStringToCopyFromStatment
因為in操作員會假設它已經存在,因為它包含44.0 -99 13.07 -99
我想要的字串值,例如:
4.0 -99 13.07 -99
-99 19.0 -99 13.9
0 -99 14.8 -9
例如被插入,self.asStringToCopyFromStatment因為它們是唯一的。只要特定字串是唯一的,我就想將其添加到self.asStringToCopyFromStatment
代碼:
def appendDataRow(self):
row = "{0}\t{1}\t{2}\t{3}\n".format(str(self.getAoC1()),str(self.getAoC2()),str(self.getAvgH1()),str(self.getAvgH2()))
if (not row in self.asStringToCopyFromStatment()):
self.inputStringToCopyFromStatement ="{0}\t{1}\t{2}\t{3}\n".format(str(self.getAoC1()),str(self.getAoC2()),str(self.getAvgH1()),str(self.getAvgH2()))
self.inputStringToCopyFromStatement 的資料/內容:
51.0 -99 14.26 -99
-99 29.0 -99 13.21
-99 19.0 -99 13.94 #<====================HERE
-99 27.0 -99 14.11
-99 7.0 -99 13.84
-99 3.0 -99 11.25
-99 10.0 -99 11.4
-99 15.0 -99 11.15
23.0 -99 11.43 -99
44.0 -99 13.07 -99 #<====================HERE
85.0 -99 14.66 -99
86.0 -99 14.78 -99
92.0 -99 14.8 -99 #<====================HERE
91.0 -99 14.76 -99
uj5u.com熱心網友回復:
您可以使用正則運算式來檢查row確實在一行的開頭找到了:
import re
def appendDataRow(self):
row = "{0}\t{1}\t{2}\t{3}\n".format(str(self.getAoC1()),str(self.getAoC2()),str(self.getAvgH1()),str(self.getAvgH2()))
if not re.search(rf'^{row}', self.asStringToCopyFromStatment(), re.MULTILINE):
self.inputStringToCopyFromStatement ="{0}\t{1}\t{2}\t{3}\n".format(str(self.getAoC1()),str(self.getAoC2()),str(self.getAvgH1()),str(self.getAvgH2()))
^結合標志re.MULTILINE匹配一行的開始。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/377931.html
上一篇:特定亂數范圍
