how to extract string inside single quotes using python script

后端 未结 3 479
-上瘾入骨i
-上瘾入骨i 2020-12-20 00:30

Have a set of string as follows

text:u\'MUC-EC-099_SC-Memory-01_TC-25\'
text:u\'MUC-EC-099_SC-Memory-01_TC-26\'
text:u\'MUC-EC-099_SC-Memory-01_TC-27\'


        
相关标签:
3条回答
  • 2020-12-20 01:11

    That text: prefix seems a little familiar. Are you using xlrd to extract it? In that case, the reason you have the prefix is because you're getting the wrapped Cell object, not the value in the cell. For example, I think you're doing something like

    >>> sheet.cell(2,2)
    number:4.0
    >>> sheet.cell(3,3)
    text:u'C'
    

    To get the unwrapped object, use .value:

    >>> sheet.cell(3,3).value
    u'C'
    

    (Remember that the u here is simply telling you the string is unicode; it's not a problem.)

    0 讨论(0)
  • 2020-12-20 01:23

    You can use the following expression:

    (?<=')[^']+(?=')
    

    This matches zero or more characters that are not ' which are enclosed between ' and '.

    Python Code:

    quoted = re.compile("(?<=')[^']+(?=')")
    for value in quoted.findall(str(row[1])):
        i.append(value)
        print i
    
    0 讨论(0)
  • 2020-12-20 01:37

    Use re.findall:

    >>> import re
    >>> strs = """text:u'MUC-EC-099_SC-Memory-01_TC-25'
    text:u'MUC-EC-099_SC-Memory-01_TC-26'
    text:u'MUC-EC-099_SC-Memory-01_TC-27'"""
    >>> re.findall(r"'(.*?)'", strs, re.DOTALL)
    ['MUC-EC-099_SC-Memory-01_TC-25',
     'MUC-EC-099_SC-Memory-01_TC-26',
     'MUC-EC-099_SC-Memory-01_TC-27'
    ]
    
    0 讨论(0)
提交回复
热议问题