ommiting blanks in a string
    4 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentarios
Respuestas (4)
  Thorsten
      
      
 el 11 de Feb. de 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 comentarios
  Image Analyst
      
      
 el 11 de Feb. de 2013
        
      Editada: Image Analyst
      
      
 el 11 de Feb. de 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 comentarios
  Jan
      
      
 el 11 de Feb. de 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 comentarios
Ver también
Categorías
				Más información sobre Characters and Strings en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!