matlab现有一个字符串cell元组其中元素形如‘x1011A如何直接用正则表达式提取cell中所有元素中的数字
您可以使用regexp函数结合正则表达式来提取字符串中的数字。以下是一个示例代码:
strCell = {'x1011A', 'x2022B', 'x3033C'};
regexPattern = '\d+';
numbers = cellfun(@(x) regexp(x, regexPattern, 'match'), strCell, 'UniformOutput', false);
在上面的代码中,regexPattern定义了一个正则表达式模式,\d+匹配一个或多个数字。然后使用cellfun函数结合regexp函数对每个字符串进行匹配,并将匹配到的数字存储在一个新的cell数组numbers中。最后,使用'UniformOutput', false参数确保输出结果为一个cell数组。
运行上述代码后,numbers的值将为:
numbers =
{1011}
{2022}
{3033}
注意,由于numbers是一个cell数组,每个元素都是一个单独的cell,因此可以使用numbers{i}{1}来访问第i个元素中的数字
原文地址: https://www.cveoy.top/t/topic/iqTn 著作权归作者所有。请勿转载和采集!