将字符串拆分为各种位

时间:2014-02-17 10:53:02

标签: string matlab

我有一个看起来像这样的字符串:

substring ='Xmole(1)= 0.0Xmole(2)= 1.0rho(1)= 2343rho(2)= 2343'

我需要将其拆分为:

                              Xmole(1)=0.0
                              Xmole(2)=1.0
                              rho(1)=2343
                              rho(2)=2343

有没有更简单的方法来做到这一点。

1 个答案:

答案 0 :(得分:2)

如果您的数字始终采用您的示例格式,即数字和可能的小数点(例如,不是“1.0e-3”形式):

ind = regexp(substring,'=[\d\.]+', 'end');
result = mat2cell(substring, 1, [ind(1) diff(ind)]).';

变量result是一个单元格数组,每个单元格中都有一个字符串:

result = 

    'Xmole(1)=0.0'
    'Xmole(2)=1.0'
    'rho(1)=2343'
    'rho(2)=2343'