How to split a strange character in a cell array?

I was tempting using split, strsplit, cell2mat, many ways to split these cells array and take out this 'special character' that is the "enter symbol", i also tried to split with '\r', '\r' '\t', but with not successful result. I need you provide me please a solution. THank you so much. It seems very simple but i am not finding a solution for it. This special character is known as '(U+25AF)' and when i call with {} it appears vertical, when i call it with (), it appears with the enter symbols thjat i need to take out.
%% Code begin
F1=readtable('umtri_2002.xlsx');
p=F1{1,:};
q=F1{2,:};
save('umtri_2002_TEST.mat','p','q')
%%%Output
>> size(p(2))
ans =
1 1
>> p(2)
ans =
1×1 cell array
{'50↵102↵178'}
>> p{2}
ans =
'50
102
178'
>>
Captura.JPG

4 个评论

Can you attach umtri_2002.xlsx for our testing?
Could you clarify what the bottom black and white output is from? The top (color) output is self consistent with the possibility that the character is newline rather than the one you indicate.
you try to take out only first value, like 50? if i understand you true,
try it with this : p{2}(1,1)
Hi Kagan,
I test it but it does not works, it just only takes each element and not converts the string numbers to double:
p{2}(1,1:2) -> it will have the number '50', an it might be everytime leaving one position for not consider the space char.

请先登录,再进行评论。

 采纳的回答

parts = regexp(p{2}, '\D+', 'split');
parts_numeric = str2double(parts);

1 个评论

Hi Walter, it really works!, thank you so much. I had made a loop to not accept strange chars but your answer works good.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by