如何从字符串中找到负数和正数?

时间:2014-02-05 23:58:58

标签: matlab pattern-matching string-matching text-processing textscan

我有一组化学反应,我只需要读取每种化学物质的第一个数字。例如,我有一个字符串

reaction = '-1.0CdCl2(aq)  1.0Cd++  2.0Cl-';

我希望找到-1.0的CdCl2(aq),1.0的Cd ++和2.0的Cl - 。

1 个答案:

答案 0 :(得分:2)

textscan在这里起作用(假设白色空间分隔反应物):

>> C = textscan(reaction,'%f%s')
C = 
    [3x1 double]    {3x1 cell}
>> C{1}' %' decimals not shown
ans =
    -1     1     2
>> C{2}
ans = 
    'CdCl2(aq)'
    'Cd++'
    'Cl-'

同样假设reaction以数字开头。