删除特殊字符的功能
11次观看(最近30天)
显示较旧的评论
我有一个包含“%”字符的单元格数组
C = {000000020F0D0%,0000000281830%,0071803F01CF0%,0071803F6AA40%};
问题在于,它在其之后就可以分发出来。我如何避免这种情况?
0评论
接受的答案
约翰·德·埃里里科(John D'Errico)
2019年12月30日
编辑:约翰·德·埃里里科(John D'Errico)
2019年12月30日
您认为%符号在MATLAB中做什么?答案:当不在引号(所以字符串)中时,会产生评论。
MATLAB中,这两种字符中的任何一个含义是什么?
000000020F0D0
000000020F0D0%
答:本质上什么都没有。它只是字符列表。在您尝试放置的单元格数组中,它们甚至没有形成有效的MATLAB语法。
我可能猜想,也许您希望他们成为某些同类的字符串,代表您想要他们的意思,因此:
C = {'000000020F0D0%',,,,'0000000281830%',,,,'0071803F01CF0%',,,,'0071803F6AA40%'};
但是,当您想创建该单元格数组时,这只是等待发生的语法错误。
您不能任意关闭MATLAB中A%的功能,您希望Matlab知道您可能希望Matlab使用该陈述是什么。
由于您似乎是在创建这些语句,因此您可能需要将它们作为字符串创建,因此,如果您想将其创建为单元格数组,则使用封闭式引号。
0评论
更多答案(1)
约拿珍珠
2019年12月30日
百分比是什么?我认为您可以将单元格数组的内容变成字符:
C = {'000000020F0D0%',,,,'0000000281830%',,,,'0071803F01CF0%',,,,'0071803F6AA40%'};
如果您只需要在%符号之前就可以将零件删除,则可以使用REGEXP:
part = regexp('000000020F0D0%',,,,'(\ w*)%',,,,“令牌”);