在 MATLAB 中,可以使用正则表达式来读取字符串中的数字。下面是一个示例:
假设有一个字符串 "abc123def456",要从中提取数字 123 和 456。
可以使用
regexp
函数来匹配字符串中的数字:
str = 'abc123def456';
num = regexp(str, '\d+', 'match');
disp(num);
这里的正则表达式 \d+
匹配一个或多个数字。'match'
参数指定 regexp
函数返回匹配到的结果。
运行这段代码会输出 123 456
,即从字符串中提取出来的数字。
需要注意的是,如果字符串中有多个数字,regexp
函数返回的是一个字符串数组,每个元素都是一个数字字符串。如果需要将这些数字字符串转换成数字变量,可以使用 str2double
函数,如下所示:
nums = str2double(num);
disp(nums);
这里的 str2double
函数将字符串数组中的每个元素转换为双精度浮点数。运行这段代码会输出 123 456
,即将数字字符串转换成的数字变量。