Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 带空格的右Pad字符串_Matlab_Padding - Fatal编程技术网

Matlab 带空格的右Pad字符串

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 length保持为max_len(包括空格和字符串)

现在如何有效地使用正确的填充?

这就是你的意思吗

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)));