Curious case of identical strings
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi everybody,
Here is the code I run:
findcellstr('UKCBRSRBR',namesshort)
findcellstr('UKCBRSRBR',namesshort)
where the function 'findcellstr' looks for a string in a cell array using the 'for' loop with 'strmatch' function. Albeit identical, the first string I'm looking for is copy-pasted from an Excel file and the second typed-in by hand.
The output I get is:
ans = []
ans = 47
Let me now use the Matlab functions only and run the following code:
find(cellfun(@isempty,strfind(namesshort,'UKCBRSRBR'))==0)
find(cellfun(@isempty,strfind(namesshort,'UKCBRSRBR'))==0)
I still get:
ans = Empty matrix: 0-by-1
ans = 47
Why?
Thank you so much for your reply,
niko
2 Kommentare
Stephen23
am 8 Sep. 2015
Bearbeitet: Stephen23
am 8 Sep. 2015
Please upload the complete code that is relevant to the problem, in particular the code for findcellstr, and show give use an example value for namesshort.
The obvious answer is that the strings are not the same. To view the actual character that make up the strings try this: double(str), you could even assign them to variables and find where they differ.
Also note that according to the documentation strmatch is not recommended, you should use strncmp instead.
Antworten (2)
Star Strider
am 8 Sep. 2015
That you ‘...copy-pasted from an Excel file...’ may be the problem.
I’m not certain how Excel data are represented internally, but perhaps a better option would be to use xlsread to import it into your MATLAB workspace and then do the comparison.
2 Kommentare
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!