string - 将 regexprep 与元胞数组结合使用以对冒号进行格式化

标签 string matlab cell-array regexp-replace

我有一个单元格数组,格式如下:

t = {'23:34:22.959511';
     '22:34:11.885113';
     '12:34:08.995146';
     '11:34:02.383092'}

我正在尝试将输出格式化为 4 列向量:

a = 23
    22
    12
    11

b = 34
    34
    34
    34

c = 22
    11
    08
    02

d = 959511
    885113
    995146
    383092

我正在使用 regexprep 对数据进行操作:

a = regexprep(t,':34:22.959511', '')

然而,这仅适用于数据集中的一个字符串,而不是所有字符串。

如何将字符串分成 4 个列向量——使用 regexprep 作为冒号:并在下面显示输出?

最佳答案

如果您愿意使用正则表达式的其他解决方案:strplit可以拆分任何想要的字符:

a = zeros(numel(t),1);
b = zeros(numel(t),1);
c = zeros(numel(t),1);
d = zeros(numel(t),1);

for ii = 1:numel(t)
    C = strsplit(t{ii}, ':');
    a(ii) = str2double(C{1});
    b(ii) = str2double(C{2});
    tmp = strsplit(C{3},'.'); % Additional split for dot
    c(ii) = str2double(tmp{1});
    d(ii) = str2double(tmp{2});
end

当然,这仅在您的数据始终具有这种结构(两个冒号,然后一个点)时才有效

关于string - 将 regexprep 与元胞数组结合使用以对冒号进行格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55708566/

相关文章:

c# - C#中如何删除一个单词的某些字符

c - 在 C 中返回错误的 MD5 散列

java - 字符串的第一个和最后一个字符

matlab - 匿名函数中的 If-then-else

php - 关于字符串转换为 int 的性能

MATLAB:将继承的属性设置为只读

matlab - 从移位向量制作矩阵 matlab 向量化

image - 在不引入插值的情况下在matlab中调整图像大小

arrays - "Flattening"元胞数组

matlab - 如何从 matlab 中的元胞数组写入多个 .csv 文件