【问题标题】:how to insert unique string into a string builder even if it is a substring即使它是子字符串,如何将唯一字符串插入字符串构建器
【发布时间】:2022-01-09 15:46:56
【问题描述】:

我有下面的代码,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

【问题讨论】:

    标签: python python-3.x python-2.7


    【解决方案1】:

    您可以使用正则表达式检查是否确实在行首找到了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 结合匹配行首。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2016-10-16
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 2015-02-11
      相关资源
      最近更新 更多