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 件のコメント

KSSV
KSSV 2020 年 4 月 24 日
Read about regexp.
Tommy
Tommy 2020 年 4 月 24 日
Or possibly fileparts? Based on your example
dpb
dpb 2020 年 4 月 24 日
編集済み: 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 日

1 投票

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 件)

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

質問済み:

2020 年 4 月 24 日

編集済み:

2020 年 4 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by