如何使用字符串的所有前缀创建 table
How to create a table with all prefix of a string
我有一个字符串数组:对于每个字符串,我都找到前缀和后缀;我采用后缀、查找前缀和后缀,然后重复此过程,直到字符串的值完成。我想创建一个 table 其中包含所有前缀 link 。示例:
Pfx Pfx2
'1' '2' ----> 1-->2,3
'1' '3'
'2' '' ----> 2-->'',1,3,4
'2' ''
'2' '1'
'2' '1'
'2' '1'
'2' '3'
'2' '3'
'2' '3'
'2' '3'
'2' '4'
'2' '4'
'3' '' ---> 3--> '',1,2
'3' ''
'3' ''
'3' ''
'3' '1'
'3' '2'
'3' '2'
最后,我会得到一个table
Prefix
'1' '2'
'3'
'2' '1'
'2'
'3'
'3' '1'
'2'
我已经使用 unique
找到 pfx 中的唯一值,但我不知道如何 link 这个值,pfx2 中的值:你能帮忙吗?
我想这样就可以了,你应该可以从unique
函数中获取索引,剩下的只是分组和排序。我以循环的形式给出我的例子,这样你就可以看到发生了什么。
pfx1 = {'1','1','1','1','2','2','2','3','3','3','1'};
pfx2 = {'','6','9','g','','','17','21','a','b','z'};
[C ia ic] = unique(pfx1);
for t = 1: size(C,2)
D{t} = pfx2(ic == t);
end
E = vertcat(C,D);
最后,您留下了“1”、“2”和“3”列,后跟一个包含所有相应 pfx2 读数的单元格。
如果您想要 table,您需要用零或 NaN 填充空白条目,您应该使用 cell2table
,它应该类似于:
E = cell2table(D,'VariableNames',C) %remember you need to pad the blank entries first.
谁能test/correct这个,我今天在家上班,只能访问2010版本,没有这个功能
我有一个字符串数组:对于每个字符串,我都找到前缀和后缀;我采用后缀、查找前缀和后缀,然后重复此过程,直到字符串的值完成。我想创建一个 table 其中包含所有前缀 link 。示例:
Pfx Pfx2
'1' '2' ----> 1-->2,3
'1' '3'
'2' '' ----> 2-->'',1,3,4
'2' ''
'2' '1'
'2' '1'
'2' '1'
'2' '3'
'2' '3'
'2' '3'
'2' '3'
'2' '4'
'2' '4'
'3' '' ---> 3--> '',1,2
'3' ''
'3' ''
'3' ''
'3' '1'
'3' '2'
'3' '2'
最后,我会得到一个table
Prefix
'1' '2'
'3'
'2' '1'
'2'
'3'
'3' '1'
'2'
我已经使用 unique
找到 pfx 中的唯一值,但我不知道如何 link 这个值,pfx2 中的值:你能帮忙吗?
我想这样就可以了,你应该可以从unique
函数中获取索引,剩下的只是分组和排序。我以循环的形式给出我的例子,这样你就可以看到发生了什么。
pfx1 = {'1','1','1','1','2','2','2','3','3','3','1'};
pfx2 = {'','6','9','g','','','17','21','a','b','z'};
[C ia ic] = unique(pfx1);
for t = 1: size(C,2)
D{t} = pfx2(ic == t);
end
E = vertcat(C,D);
最后,您留下了“1”、“2”和“3”列,后跟一个包含所有相应 pfx2 读数的单元格。
如果您想要 table,您需要用零或 NaN 填充空白条目,您应该使用 cell2table
,它应该类似于:
E = cell2table(D,'VariableNames',C) %remember you need to pad the blank entries first.
谁能test/correct这个,我今天在家上班,只能访问2010版本,没有这个功能