how to know if a char vector contains unwanted characters?
    14 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I have this row vector
x=["0","1","2","3","4","5","6","7","8","9","."];
and let us say that there is a vector of char class called y
I want matlab to return true if all the characters in y is from x
and return false if there is any character in y out of x 
6 Commenti
Risposte (3)
  Adam Danz
    
      
 il 18 Feb 2020
        
      Modificato: Adam Danz
    
      
 il 18 Feb 2020
  
      Following the description from your question, here's an anonymous function allCharsGood() with two inputs, 
- c is a 1xn char array
- goodList is a 1xn string array
allCharsGood converts the char array c to a string array and then determines whether all elements of c are listed in goodList.  
It returns true if all elements of c are in goodList.
It returns false if at least one element of c is not in goodList.
x=["0","1","2","3","4","5","6","7","8","9","."];  % String array
y1 = '3.1415926';  % char array
y2 = '9.56e20';    % char array
allCharsGood = @(c, goodList)all(ismember(string(cellstr(c')'), goodList)); 
allMatch = allCharsGood(y1,x)  % true
allMatch = allCharsGood(y2,x)  % false
0 Commenti
  JESUS DAVID ARIZA ROYETH
      
 il 18 Feb 2020
        y=["5","6","10"];%y example
condition=all(ismember(y,x))
0 Commenti
  Joseph Cheng
      
 il 18 Feb 2020
        check out the function ismember here is snippet of test code
x=["0","1","2","3","4","5","6","7","8","9","."];
y = ["3","3","5","8","1","2"];
checks = ismember(y,x);
disp(x)
disp(y)
disp(checks)
if sum(checks)==numel(y)
    ret = true
else 
    ret = false
end
y = ["10","44","5","8","1","2"];    
checks = ismember(y,x);
if sum(checks)==numel(y)
    ret = true
else 
    ret = false
end
here you can see the two different y character arrays are checked against each other one by one.  
Vedere anche
Categorie
				Scopri di più su Logical in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




