Remove elements from string array

What is the simpest way to remove string elements from an array? e.g. arr = [1, 2, 3, "x", "y", 10] would turn into [1,2,3,10]

4 commentaires

The first issue with your question is that the array [1, 2, 3, "x", "y", 10] cannot exist. You can't mix numbers and strings in a numeric or string array (you could in a cell array but the notation is different). Matlab will automatically convert the numbers to strings in order to create your array:
>> arr = [1, 2, 3, "x", "y", 10]
arr =
1×6 string array
"1" "2" "3" "x" "y" "10"
anon
anon le 26 Nov 2019
Yes that is what I had discovered. What do you suppose I do in order to remove the "x" and "y" from the string array?
Guillaume
Guillaume le 26 Nov 2019
What is the rule that dictates which elements should be removed from the string array?
anon
anon le 26 Nov 2019
Create a new array that contains only integers. So after removing all non-integers the array would need to be turned into a numeric array e.g. [1,2,3,10]

Connectez-vous pour commenter.

Réponses (1)

Guillaume
Guillaume le 26 Nov 2019
One possible way:
numericarray = double(yourstringarray); %convert string array to numeric. Text that can't be converted to numeric will end up as NaN.
numericarray = numericarray(mod(numericarray, 1) == 0); %only keep numbers that are integers. Will also remove NaNs.

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Tags

Question posée :

le 26 Nov 2019

Community Treasure Hunt

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

Start Hunting!

Translated by