compose
将数据格式化为多个字符串
说明
使用 str = compose(formatSpec,A)formatSpec 指定的格式化操作符对输入数组 A 中的数据值进行格式化,并在 str 中返回结果文本。compose 函数按列顺序对 A 中值进行格式化。如果 formatSpec 是字符串数组,则输出数组 str 也是字符串数组。否则,str 为字符向量元胞数组。
compose 还会转换 formatSpec 中的转义字符序列。转义字符序列表示非打印字符,或者指定插入换行符或制表符等操作。
compose 函数可以字符串数组或字符向量元胞数组形式返回多个格式化文本段,这一点与 sprintf 不同。sprintf 函数只返回一个字符串标量或字符向量。
如果
A具有多行,则compose以具有相同行数的字符串数组或元胞数组形式返回str。compose会对str中的每一行重复应用formatSpec,获得A中对应行的格式化值。如果
A中的列数超出formatSpec中的操作符数量,则compose会重复应用formatSpec,作为str的附加列。A的附加列为str中的新列提供格式化的值。如果
A中的列数少于formatSpec中的运算符数量,则compose不使用这些多出的操作符对值进行格式化。相反,compose会在str中放置保持不变的格式化操作符。但是,compose会转换除\\和%%之外的所有转义字符序列。
对多个输入数组中数据值进行格式化,并串联所有格式化的值。当 str = compose(formatSpec,A1,...,AN)compose 使用 formatSpec 中的一些格式化操作符转换某一输入数组中的数据后,则已用的这些格式化操作符将无法用于其后续输入数组。
例如,如果 formatSpec 为 "%f %f %d %s",并且 A1 具有两列,则操作符 "%f %f" 将仅应用于 A1 中的值。它们不能应用于 A2 或任何其他输入数组。compose 会将剩余的操作符 "%d %s" 应用于 A2,...,AN。
如果最后一个输入数组 AN 中的列数超出剩余的操作符数,则 compose 会向 str 中添加额外的列,如上述语法中所述。如果 AN 中的列数少于剩余操作符数,则 compose 会将最后未用的操作符原样置于 str 中。
示例
输入参数
输出参量
扩展功能
版本历史记录
在 R2016b 中推出