I am using R2018b, and trying to use the function 'validtaestring', but it doesn't find a partial match. Has anyone tried that in this version?

2 次查看(过去 30 天)
STR2={'AA_UCECC'};
str='UCE';
validatestring(str,STR2)
Expected input to match one of these values:
'AA_UCECC'
The input, 'UCE', did not match any of the valid values.

采纳的回答

Guy Nir
Guy Nir 2018-11-20
Seems like validatestring only searches first n characters. Therefore I am using strfind.
Thank you,
GUy
  2 个评论
Image Analyst
Image Analyst 2018-11-20
strfind returns an index or an empty null string.
You might want to use contains() like I did in my answer, unless you really need to know the index where the substring starts. If you have just one item, like you did, then you can also use strcmp() or ismember().

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2018-11-20
To find partial matches, don't use validatestring(). Use contains
validString = contains(str, STR2);

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by