How do I get an element from a string?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Say I have a vector representing a row and column which is (5,6) and I have a
vec = (5,6);
string = ['oNTitsr
reaqBtr
sggtalu
imnvomo
nresgLm
eamhomt
lfHoan
sn mnin']
When I do
a = string(vec);
I get a = 'ne'
and when I do
a = string(5,6);
a = 'L'
I am suppose to get 'L' but I keep getting 'ne' when I run my code.
vec = (5,6) is just an example it can be anything. How do I do it?
2 commentaires
Andrew Newell
le 21 Fév 2015
Is that really the code you used? It should produce errors right from the start. The line
vec = (5,6);
results in
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
The string definition you used gives
Error: String is not terminated properly.
Réponse acceptée
Andrew Newell
le 21 Fév 2015
Modifié(e) : Andrew Newell
le 21 Fév 2015
Here is some code that works:
vec = {5,6};
S = ['oNTitsr';
'reaqBtr';
'sggtalu';
'imnvomo';
'nresgLm';
'eamhomt';
' lfHoan';
'sn mnin'];
S(5,6)
S(vec{:})
Some features of this code that are needed:
- Each row of the char array is surrounded by quotes; semicolons makes it a column vector.
- They all have to have the same length - hence the space at the beginning of ' lfHoan'.
- A cell array is used for vec. Using {:} returns a list:
vec{:}
ans =
5
ans =
6
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur String Parsing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!