gpt4 book ai didi

matlab - n = 44 时 size(strfind(n ,',' )) 的奇怪行为

转载 作者:行者123 更新时间:2023-12-01 15:02:31 26 4
gpt4 key购买 nike

出于某种原因

size(strfind(n,','))

数字 44 很特殊,会产生逗号查找结果:

value={55}
numCommas = size(strfind(value{1},','),2)
ans= 0 ...(GOOD)

value={44}
numCommas = size(strfind(value{1},','),2)
ans= 1 ...(BAD) - Why is it doing this?

value={'44,44,44'}
numCommas = size(strfind(value{1},','),2)
ans= 2 ...(GREAT)

我需要找到单元格元素中逗号的数量,其中元素可以是整数或字符串。

最佳答案

详细说明我的评论。 ASCII code对于逗号 (,),是 44。实际上,您在代码中所做的是

size(strfind(44,','),2)

size(strfind(char(44),','),2)

其中 44 不是字符串,而是被解释为数值,然后将其转换为字符并生成逗号 (,),我们可以看到当我们使用 char

>> char(44)
ans =

,

您可以通过更改来修复您的代码

value={44}

value={'44'}

那么你将执行 strfind在字符串而不是数值上。

>> size(strfind('44', ','), 2)
ans =

0

提供正确答案。

或者你可以使用 num2str

>> size(strfind(num2str(value{1}), ','), 2)
ans =

0

关于matlab - n = 44 时 size(strfind(n ,',' )) 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33021146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com