You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Matlab中使用正则表达式提取字符串中的整数

Matlab字符串元胞数组提取整数并转1×2数组方案

核心思路

用正则表达式匹配提取所有整数,再根据提取到的数量补全为1×2数组(单个整数时第二列填-1)。

代码实现

假设你的字符串元胞数组为strCell,执行以下代码即可:

% 示例输入元胞数组
strCell = {'[1, 2]', '[3]', '[10, 3]', '[1, 12]', '[11, 12]'};

% 初始化结果矩阵,行数等于元胞数组长度,固定2列
result = zeros(length(strCell), 2);

% 遍历处理每个字符串
for i = 1:length(strCell)
    % 提取字符串中所有整数(正则表达式\d+匹配1个或多个数字)
    numStrs = regexp(strCell{i}, '\d+', 'match');
    % 转换为数值数组
    nums = str2double(numStrs);
    
    % 根据提取到的整数数量赋值
    if length(nums) == 1
        result(i, :) = [nums, -1];
    else
        result(i, :) = nums;
    end
end

运行结果

执行后result矩阵内容为:

1     2
     3    -1
    10     3
     1    12
    11    12

内容的提问来源于stack exchange,提问作者Ben

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 01:00:59