MATLAB Answers

string split in cell array

11 ビュー (過去 30 日間)
Murugan C
Murugan C 2020 年 4 月 24 日
編集済み: Tommy 2020 年 4 月 24 日
Hi Guys!
I am trying to split a numberic sting in cell array data. but unable to do it.
a = {'c\datat\pic\res\000-774'; '\c\datat\pic\res\152-7987';}
need output like
a1 = ('c\datat\pic\res\';'c\datat\pic\res\ ')
a2 = ('000-774';'125-7957')
can anyone help me to solve.
thanks in adavance!!

  5 件のコメント

表示 2 件の古いコメント
dpb
dpb 2020 年 4 月 24 日
@Tommy is spot on...
> [a1,a2]=cellfun(@fileparts,a,'UniformOutput',false)
a1 =
2×1 cell array
{'c\datat\pic\res' }
{'\c\datat\pic\res'}
a2 =
2×1 cell array
{'000-774' }
{'152-7987'}
>>
Given they're file names by inspection, just lacking the optional extension.
Suggest move to an Answer so OP can Accept and go on to bigger and better things... :)
Tommy
Tommy 2020 年 4 月 24 日
Happily, though seems to me you did all the work!
dpb
dpb 2020 年 4 月 24 日
You had the bright (and to me right) idea, though...the rest is a oneliner...

サインインしてコメントする。

採用された回答

Tommy
Tommy 2020 年 4 月 24 日
編集済み: Tommy 2020 年 4 月 24 日
Use fileparts and cellfun. Code courtesy of @dpb:
>> a = {'c\datat\pic\res\000-774'; '\c\datat\pic\res\152-7987'};
[a1,a2]=cellfun(@fileparts,a,'UniformOutput',false)
a1 =
2×1 cell array
{'c\datat\pic\res' }
{'\c\datat\pic\res'}
a2 =
2×1 cell array
{'000-774' }
{'152-7987'}

  0 件のコメント

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by