所以下面的代碼可以留下一個字符串保留最大長度max_len(包括空格和字符串)的空格。右墊字符串與空間Matlab
max_len = 20;
spacing_arg = ['% ', max_len,'s'];
padded_string = sprintf(spacing_arg, str);
現在如何有效地使用正確的填充?
所以下面的代碼可以留下一個字符串保留最大長度max_len(包括空格和字符串)的空格。右墊字符串與空間Matlab
max_len = 20;
spacing_arg = ['% ', max_len,'s'];
padded_string = sprintf(spacing_arg, 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)));
有趣的方法,但它比下面更快.. – BAR
我想你想打印你的空間填充字符串到某個地方,這將涉及使用額外的'fprintf()'。否則,這應該會更快(雖然不那麼直截了當)。還要注意,當max_len
@ GermanGomez-Herrero:實際上,我測試了它 - 這個解決方案比* sprintf解決方案慢了約2倍。 –
更妙的是,使用'的sprintf( '% - * S',MAX_LEN,STR)'。 – Charles
(參考以上評論)實際上,該方法無法正常工作。你應該檢查過.. – BAR