原字符串是:str='a,b,c,"d,e,f",g,h'
需要返回的列表是:['a','b','c','d,e,f','g','h']
我目前用的是str.spilt(','),得到的列表是['a',b','c','d','e','f','g','h'],但这不是我想要的,我想要返回列表['a','b','c','d,e,f','g','h'],哪位大神可以帮我一下
直接strip,然后再加上'不就行了
首先要把字符串里面的双引号去掉,再用split方法
import re
test= 'a,b,c,"d,e,f",g,h'
test = re.sub('"','',test)
print(test.split(','))
import csv
str='a,b,c,"d,e,f",g,h'
newStr = ['{}'.format(x) for x in list(csv.reader([str], delimiter=','))[0]]
print (newStr)
str = 'a,b,c,"d,e,f",g,h'
str2 = 'a,b,c,"d,e,f",g,h,"a,a,d,d",s,f,"c,c",k'
def myStrToList(str_arg):
re_list = []
count = 0
tmp_str = ''
str_arg = str_arg.replace(',', '')
for line in str_arg:
if line == '"':
count += 1
if count == 2:
count = 0
if len(tmp_str) > 0:
re_list.append(tmp_str[0:-1])
tmp_str = ''
else:
re_list.append(line)
elif count == 1:
tmp_str += line + ','
elif count == 0:
re_list.append(line)
return re_list
print(myStrToList(str))
print(myStrToList(str2))