remove whitespace from cell array
46 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
jnaumann
am 9 Jan. 2015
Beantwortet: Lev Vitkin
am 17 Jan. 2024
I have a cell array which looks something like this;
'DS 5376'
'FR 8241'
'B 1257'
'BG 09857'
'TR 3017'
I want to remove the central white space (or any white space to that matter) to get the following
'DS5376'
'FR8241'
'B1257'
'BG09857'
'TR3017'
Previous questions and suggested and I have tried using
cell_Array=strrep(cell_Array,' ','')
but to no avail - any ideas as to how I can acheive this?
Many thanks
0 Kommentare
Akzeptierte Antwort
Guillaume
am 9 Jan. 2015
If your example with strrep does not succeed, that would be because the whitespace is actually not a space. You can check what it is for sure by getting its ASCII value with:
double(cell_Array{1}(3))
If it is some other sort of whitespace (maybe a tab), you can use:
cell_Array = regexprep(cell_Array, '\s', '') %\s means any of \t, \f, \n, \r or \v
But if it is not, assuming your text is only letters, numbers or underscore, you can remove anything else with:
cell_Array = regexprep(cell_Array, '\W', '')
4 Kommentare
Guillaume
am 9 Jan. 2015
What? None of the regexprep succeeded?
Can you show the output of
double(cell_Array{1}) %i.e. the ASCII values of the whole string
The proper syntax for the cellfun would be:
flight_no = cellfun(@(s) strrep(s, ' ', ''), flight_no, 'UniformOutput', false);
But strrep operates on cell array anyway, so there's no need for the cellfun anyway.
Weitere Antworten (1)
Lev Vitkin
am 17 Jan. 2024
flight_no = cellfun(@(s) s(~isspace(s)), flight_no, 'UniformOutput', false)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Cell Arrays finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!