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 Kommentare

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.
Kagan Eröz
Kagan Eröz am 28 Jul. 2019
Bearbeitet: Kagan Eröz am 28 Jul. 2019
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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 28 Jul. 2019
parts = regexp(p{2}, '\D+', 'split');
parts_numeric = str2double(parts);

1 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by