ommiting blanks in a string
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
how would i write a code to print each line of the string array G omitting any trailing blanks and blanks in-between letters
0 Kommentare
Antworten (4)
Thorsten
am 11 Feb. 2013
s = [' hallo a b c'; 'asdsdf v vvvv '];
for i = 1:size(s, 1)
disp(s(i, setdiff(1:length(s(i,:)), findstr(' ', s(i,:)))))
end
0 Kommentare
Image Analyst
am 11 Feb. 2013
Bearbeitet: Image Analyst
am 11 Feb. 2013
Use strtrim(). From the help:
S = strtrim(str) returns a copy of string str with all leading and trailing white-space characters removed. A white-space character is one for which the isspace function returns logical 1 (true).
Code:
for k = 1:size(yourString, 1)
fprintf('%s', strtrim(yourString(k,:)));
end
0 Kommentare
Jan
am 11 Feb. 2013
This means, that you want to conserve the leading spaces, correctly?
Deleting all spaces would be:
s = strrep(s, ' ', ''); % Works for cell strings also
Trailing spaces:
s = deblank(s);
Conserve leading spaces - assuming that you have a cell string:
for iC = 1:numel(C)
S = C{iC};
first = find(isletter(S), 1);
C{iC} = [S(1:first - 1), strrep(S, ' ', '')];
end
And an equivalent approach work for a string also.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Characters and Strings 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!