分割字符串
1。)a,b:i,c,d:i,e,f,g,h
因此,以下是拆分的工作方式:
:i
,则:i
之前的任何内容都将作为项目进入colon_i_list
,如果不存在:i
,则它将进入{{1 }}。例如-> non_colon_i_list
位于:i
的末尾;因此,a,b
将进入Colon_i_list,a,b
也将进入列表c,d
,因为:i也出现在c,d的末尾,而colon_i_list
将进入列表e,f,g,h
。
non_colon_i_list
2。)colon_i_list = ['a,b','c,d']
non_colon_i_list = ['e,f,g,h']
不:我在这里。
a,b,c,d
3。)non_colon_i_list = ['a,b,c,d']
a,b,c,d,e,f:i
答案 0 :(得分:3)
如果我答对了,那么简单的files(person_id, type)
将会大有帮助:
split
在情况3中,未指定的“其他”列表将包含一个空字符串。
答案 1 :(得分:1)
这可能会解决您的问题,
dataset.selectDataByLabel(label=="2")
答案 2 :(得分:1)
解决此问题的一种方法是,首先通过分割“:i,”来创建列表。
“:i,”比“:i”更可取,因为这将导致第一个(和其他)示例出现问题,因为您将得到如下内容:[“ a,b”,“,c,d”( !!-提前逗号)
lst = string.split(":i,")
然后:
col = lst[:-1]
non_col = lst[-1]
之所以起作用,是因为最后一个元素之前的所有内容都必须已被标记分割,因此属于col。您唯一需要注意的一点是,如果字符串的最后一个元素为“:i”,则在字符串中添加一个逗号,以便令牌正常工作。
答案 3 :(得分:0)
a = 'a,b:i,c,d:i,e,f,g,h'
colon_i_list, non_colon_i_list = a.rsplit(':i,',1)
colon_i_list = colon_i_list.split(':i,')
答案 4 :(得分:0)
\ getter -> getter :: OddGetter s a -> Getter s a
我认为我的答案是前两个答案中最差的...
答案 5 :(得分:0)
首先检查字符串中是否包含':i':如果没有:i,则可以,所有字符串都应位于non_colon_i_list中。但是,如果您的字符串中有一个':i',那么如果答案的长度为1,则将其用':i'分开,所有该字符串应位于您的Colon_i列表中,否则除最后一项外的所有项目都位于Colon_i列表,而最后一个应该在non_colon_i_list中。参见下面的代码:
OrderHistory(FKOrderKey)
答案 6 :(得分:0)
下面的代码在情况3中删除了空字符串,并且还删除了原始字符串中"-i"
之后的第一个逗号。
str_list=['a,b:i,c,d:i,e,f,g,h','a,b,c,d',"a,b,c,d,e,f:i",""]
for str_item in str_list:
tokens=str_item.split(":i")
colon_i_list=[x.lstrip(',') for x in tokens[:-1]]
non_colon_i_list=[x.lstrip(',') for x in tokens[-1:] if x!=""]
str_item,colon_i_list,non_colon_i_list
输出:
('a,b:i,c,d:i,e,f,g,h', ['a,b', 'c,d'], ['e,f,g,h']) ('a,b,c,d', [], ['a,b,c,d']) ('a,b,c,d,e,f:i', ['a,b,c,d,e,f'], []) ('', [], [])