How can i remove string entries from Cell array?

I have a cell array containing strings like that eg A={['aaa' 'char(9)' 'aaaa']} how can i keep only the first string?

4 Kommentare

James Tursa
James Tursa am 6 Apr. 2016
Bearbeitet: James Tursa am 6 Apr. 2016
Do you mean you are starting with a cell array that has many elements, and that each element has strings that have "unprintable" characters in them, and you want to truncate each string up to this character? Or do you actually have the characters 'char(9)' as part of the string and you want to truncate up to that point? Or ...?
Just to be more specific : I have a cell array of 300000x1 cell containing string elements. its cell is like that :
{['"I am an engineer" ' char(9) '' char(9) '' char(9) '' char(9) '' char(9) 'Hello']}
i just want to keep : I am an engineer.
***** JUST to mention i dont know if helps when i use display(A(10)); i get something like that :
'"I am an engineer" Hello'
******
A actually only has cell because of the inner []. That cell is the string 'aaachar(9)aaaa'. You can use cellfun to do a string operation on that cell. if A were {'aaa','char(9)','aaaa'} then you could do B = A(2:end)
Probably i need a regular expression to do the job, but how.....any help will be great

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Eugene
Eugene am 6 Apr. 2016

0 Stimmen

I think I understand what you meant. For example
>> A = {'aaaa' char(9) 'aaaaa'}
A =
'aaaa' ' ' 'aaaaa'
>> A(2:3) = [];
>> A
A =
'aaaa'
>> class(A)
ans =
cell
>> size(A)
ans =
1 1
Or to simply keep the first cell array element.
A = {A{1}}

1 Kommentar

Thanks for the reply but although The command syntax, of your suggestion is accepted from matlab. I do not have the expected results. Just to be more specific : I have a cell array of 300000x1 cell containing string elements. its cell is like that :
{['"I am an engineer" ' char(9) '' char(9) '' char(9) '' char(9) '' char(9) 'Hello']}
i just want to keep : I am an engineer.
***** JUST to mention i dont know if helps when i use display(A(10)); i get something like that :
'"I am an engineer" Hello'
******

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 5 Apr. 2016

Kommentiert:

am 7 Apr. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by