5

可能重复:
在matlab中将字符串转换为数字数组

Matlab中是否有一种简单的方法来转换这样的字符串

'123456789'

变成这样的向量?

[1 2 3 4 5 6 7 8 9]
4

2 回答 2

9

如果您只有从 0 到 9 的连续字符:

v = double(s)-'0';

double(s) 将字符串转换为数组,其中每个元素都是对应字符的 ASCII 码。为了获得数字值,我们减去“0”(实际上是 ASCII 中的 48),并且由于数字在 ASCII 码中具有顺序表示(“1”= 49,“2”= 50 等),我们最终得到预期结果。

于 2012-11-03T23:41:35.847 回答
5

一种方法是regexp用于此。但当然它只适用于个位数。

>> str = '123456789';
>> num = regexp(str,'\d')

num =

 1     2     3     4     5     6     7     8     9
于 2012-11-03T23:44:42.073 回答