删除特殊字符的功能

11次观看(最近30天)
我有一个包含“%”字符的单元格数组
C = {000000020F0D0%,0000000281830%,0071803F01CF0%,0071803F6AA40%};
问题在于,它在其之后就可以分发出来。我如何避免这种情况?

接受的答案

约翰·德·埃里里科(John D'Errico)
您认为%符号在MATLAB中做什么?答案:当不在引号(所以字符串)中时,会产生评论。
MATLAB中,这两种字符中的任何一个含义是什么?
000000020F0D0
000000020F0D0%
答:本质上什么都没有。它只是字符列表。在您尝试放置的单元格数组中,它们甚至没有形成有效的MATLAB语法。
我可能猜想,也许您希望他们成为某些同类的字符串,代表您想要他们的意思,因此:
C = {'000000020F0D0%',,,,'0000000281830%',,,,'0071803F01CF0%',,,,'0071803F6AA40%'};
但是,当您想创建该单元格数组时,这只是等待发生的语法错误。
您不能任意关闭MATLAB中A%的功能,您希望Matlab知道您可能希望Matlab使用该陈述是什么。
由于您似乎是在创建这些语句,因此您可能需要将它们作为字符串创建,因此,如果您想将其创建为单元格数组,则使用封闭式引号。

更多答案(1)

约拿珍珠
约拿珍珠 2019年12月30日
百分比是什么?我认为您可以将单元格数组的内容变成字符:
C = {'000000020F0D0%',,,,'0000000281830%',,,,'0071803F01CF0%',,,,'0071803F6AA40%'};
如果您只需要在%符号之前就可以将零件删除,则可以使用REGEXP:
part = regexp('000000020F0D0%',,,,'(\ w*)%',,,,“令牌”);
1条评论
Avram Alter
Avram Alter 2019年12月30日
这些标志是传入串行标签的一部分。它们是标签身份的必要组成部分。
感谢您的帮助,这是一个明显的问题,但我并不是很擅长。

登录发表评论。

标签

下载188bet金宝搏


发布

R2019A

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!