Matlab 带空格的右Pad字符串
因此,下面的代码可以使用空格填充字符串,并将max length保持为max_len(包括空格和字符串) 现在如何有效地使用正确的填充?这就是你的意思吗Matlab 带空格的右Pad字符串,matlab,padding,Matlab,Padding,因此,下面的代码可以使用空格填充字符串,并将max length保持为max_len(包括空格和字符串) 现在如何有效地使用正确的填充?这就是你的意思吗 max_len = 20; spacing_arg = ['%-', num2str(max_len),'s']; padded_string = sprintf(spacing_arg, str); 我猜您想将空格填充字符串打印到某个位置,这将涉及使用额外的fprintf()。否则,这可能会更快(尽管不那么简单)。还请注意,当max时,此
max_len = 20;
spacing_arg = ['%-', num2str(max_len),'s'];
padded_string = sprintf(spacing_arg, str);
我猜您想将空格填充字符串打印到某个位置,这将涉及使用额外的
fprintf()
。否则,这可能会更快(尽管不那么简单)。还请注意,当max时,此解决方案和下面的我的解决方案的行为不同_len@GermanGomez-Herrero:事实上,我已经测试过了——这个解决方案比你的sprintf
解决方案慢了大约2倍。更好的是,使用sprintf('%-*s',max_len,str)
(参考上面的注释)实际上这个方法不能正常工作。你应该在……之前检查一下。。
max_len = 20;
spacing_arg = ['%-', num2str(max_len),'s'];
padded_string = sprintf(spacing_arg, str);
max_len = 20;
padded_str = repmat(' ',1, max_len);
padded_str(1:min(20,length(str))) = str(1:min(20,length(str)));