首页 > 解决方案 > 将字符串转换为特定格式的数组

问题描述

我有一串格式

"'Year'-'Month'-'Day'T'Hour':'Minute':'Second'Z"例如'2020-11-26T16:56:09.676Z'

(注意毫秒被认为是秒的一部分)

我想将其转换为以下格式:

t1 = 1x6

2020 11 26 16 56 09.676

或者换句话说,一个 1x6 数组。

注意:这是使用 MatLab 完成的。

标签: matlab

解决方案


你可以

  1. regexp与输入标志一起使用可'match'将数字检测为一位或多位数字 ( \d+),可选地后跟一个小数点 ( \.?),然后是零位或多位数字 ( \d*)。这将给出一个字符串元胞数组。
  2. 适用str2double于将字符串转换为数字。这将给出一个数字行向量。

s = '2020-11-26T16:56:09.676Z';
result = str2double(regexp(s, '\d+\.?\d*', 'match'));

推荐阅读