1

我得到输出的值,它对应于 2 个文件之间的差异:

output = 'a.x: low 0 -> low 1a.b : 3 -> Medium 6'

然后我printf的内容

sprintf('files are different \n%s', output);

但我想如下所示(自动换行):

output :

a.x: low 0 -> low 1 
a.b : 3 -> Medium 6 
4

1 回答 1

1

你可以使用正则表达式来砍你的字符串

chopped = regexpi(output, '^(?<line1>[^>]*>[^\d]*[\d]*)(?<line2>.*)$', 'names')

在这里做的伎俩。

>> chopped = 

    line1: 'a.x: low 0 -> low 1'
    line2: 'a.b : 3 -> Medium 6'

假设是:

  1. 你总是->在第一行有一个单曲
  2. 第一行总是以后面的第一个数字结尾->
  3. 以整数结束第一行的数值

如果您不熟悉正则表达式

  • (?<line1> )(?<line2> )在这里捕获chopped变量中的匹配项。
  • [^>]*消耗到第一个>
  • [^\d]*消耗所有非数字字符(所以直到以下数字开始)
  • [\d]*消耗所有数字字符
  • .*消耗字符串的其余部分
于 2012-09-10T08:11:56.263 回答