如何在大数据集中删除某些数字变化的字符串

1次查看(最近30天)
维克多Szenes
维克多Szenes 2021年4月7日
编辑: 斯蒂芬。 2021年4月7日
你好社区
我是新的matlab,已经看了一些教程,以理解的基础,我花了两天的时间试图做这个,我真的拔我的头发。任何帮助都将不胜感激!
我有一个超过16k的数组条目,其中包括许多不必要的信息,我想删除一些字符串,如“name”,“Pat-ID”-这不是那么困难,我用以下方法快速和简单地解决了问题:
但我有大量的问题来解决以下例子:我从数据库下载数据,并导入了页码->我想删除字符串与改变的页码像这样:"page X of 600" -> X=1-600
数据集的示例:带有一列的数组:
名字XYZ
生日
ID
"第1页,共600页"
...
我已经尝试了类似的东西,但语法不正确:
i = 1:长度(a)
d =我;
data_new5 = data_new4 (data_new4 ~ ="第%d页600",);
结束
我也试图解决它与一个for循环,但不幸的是,它没有工作。
我想这个问题并不难,但是对于一个新手来说,克服这个问题有点难。
提前谢谢。
保持安全。! !

答案(1)

斯蒂芬。
斯蒂芬。 2021年4月7日
编辑:斯蒂芬。 2021年4月7日
tmp = sprintf ("第%d页600",我);
data_new4 ~ = tmp
~ strcmpi (data_new4 tmp)
请注意,您将希望在每次循环迭代中替换前面的数据数组。
或者通过明智地使用StartWith和EndsWith跳过这个循环。或者使用正则表达式,例如:
~ cellfun (@isempty regexp (data_new4'^page \d+ of \d+$'))

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!