MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   Matlab中的正则表达式仅保留数组的指定项 (https://www.labfans.com/bbs/showthread.php?t=22408)

poster 2019-12-05 02:24

Matlab中的正则表达式仅保留数组的指定项
 
我有一个频道列表:

channels = {'1LT1', '1LT2', '1LT3', '1LT4', '1LT5', '2LA1', '2LA2', '2LA3', '3LH1', '3LH5', '4LT1', '4LT2', '4LT3', '5LH1', '5LH2', '4LT10'} 我需要写一个alogrithm,只留下远端通道。这意味着对于每种类型的通道(“ 1LT”,“ 2LA”,“ 3LH”,“ 4LT”等),我只需要最后编号最高的通道即可。最好的方法是返回这些通道的索引。例如,对于上述列表,结果应为:

[5, 8, 10, 15, 16] 我想我可以用regexp做到这一点,就像这样拆分:

row_i = 1; for ch_i=[1:length(channels)] try [n(row_i,:), ch_type(row_i,:)] = strsplit(channels{ch_i},'\d+[AZ]', 'DelimiterType','RegularExpression'); row_i = row_i + 1; catch continue end end 但是后来我真的被困住了。有人可以给我一些技巧来创建好的算法吗?

我感谢任何想法!



[url=https://stackoverflow.com/q/59182506]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:13

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.