How do I get an element from a string?
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kratos
am 21 Feb. 2015
Bearbeitet: Kratos
am 21 Feb. 2015
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 Kommentare
Andrew Newell
am 21 Feb. 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.
Akzeptierte Antwort
Andrew Newell
am 21 Feb. 2015
Bearbeitet: Andrew Newell
am 21 Feb. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu String Parsing 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!