Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将字符串拆分为列表_Python_String_List_Split - Fatal编程技术网

使用Python将字符串拆分为列表

使用Python将字符串拆分为列表,python,string,list,split,Python,String,List,Split,我有一根绳子: string = '26.10-8-00 - Fabricação de componentes eletrônicos | 46.51-6-01 - Comércio atacadista de equipamentos de informática | 95.11-8-00 - Reparação e manutenção de computadores e de equipamentos periféricos' 我想用这些代码创建一个列表。可能是这样的: mylist

我有一根绳子:

string = '26.10-8-00 - Fabricação de componentes eletrônicos | 46.51-6-01 - Comércio atacadista de equipamentos de informática | 95.11-8-00 - Reparação e manutenção de computadores e de equipamentos periféricos'
我想用这些代码创建一个列表。可能是这样的:

mylist = ['26.10-8-00', '46.51-6-01', '95.11-8-00']
我将字符串拆分为|以获得一个列表,然后将每个值拆分为-并仅提取其中的日期部分:

result = [x.split(' - ')[0] for x in s.split(' | ')]
我将字符串拆分为|以获得一个列表,然后将每个值拆分为-并仅提取其中的日期部分:

result = [x.split(' - ')[0] for x in s.split(' | ')]

您可以使用正则表达式:

import re
string = '26.10-8-00 - Fabricação de componentes eletrônicos | 46.51-6-01 - Comércio atacadista de equipamentos de informática | 95.11-8-00 - Reparação e manutenção de computadores e de equipamentos periféricos'
new_string = [i for i in re.split("\s-\s|(?<=\|)\s(?=\d)", string) if re.findall("^\d+\.\d+-\d+-\d+", i)]

您可以使用正则表达式:

import re
string = '26.10-8-00 - Fabricação de componentes eletrônicos | 46.51-6-01 - Comércio atacadista de equipamentos de informática | 95.11-8-00 - Reparação e manutenção de computadores e de equipamentos periféricos'
new_string = [i for i in re.split("\s-\s|(?<=\|)\s(?=\d)", string) if re.findall("^\d+\.\d+-\d+-\d+", i)]

挖掘一个更简单的方法,但完成工作

string = '26.10-8-00 - Fabricação de componentes eletrônicos | 46.51-6-01 - Comércio atacadista de equipamentos de informática | 95.11-8-00 - Reparação e manutenção de computadores e de equipamentos periféricos'
mylist = []
for x in string.split(" | "):
  mylist.append(x.split(" - ")[0])
print(mylist)
输出

['26.10-8-00', '46.51-6-01', '95.11-8-00']

挖掘一个更简单的方法,但完成工作

string = '26.10-8-00 - Fabricação de componentes eletrônicos | 46.51-6-01 - Comércio atacadista de equipamentos de informática | 95.11-8-00 - Reparação e manutenção de computadores e de equipamentos periféricos'
mylist = []
for x in string.split(" | "):
  mylist.append(x.split(" - ")[0])
print(mylist)
输出

['26.10-8-00', '46.51-6-01', '95.11-8-00']
使用

使用


使用正则表达式?关于findallr'[0-9]+.[0-9]+-[0-9]-[0-9]+',使用正则表达式的字符串?re.findallr'[0-9]+.[0-9]+-[0-9]-[0-9]+',StringThink.strip删除最后两个结果中的前导空格。我通过在| in for x in string.split |前后添加空格来修复它:考虑.strip删除最后两个结果中的前导空格。我通过在| in for x in in string.split前后添加空格来修复它: