how can access?
Afficher commentaires plus anciens
hi,
i have array , each row in this array contains data as follow: "1|Toy Story (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Toy%20Story%20(1995)|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0"
I want access to sequence of zero's and one's and ignore what before it in order to place these sequence into new vector.
who can help me?
thanks
Réponses (2)
Fangjun Jiang
le 11 Sep 2011
If those 0s and 1s are always at the end and their repetition is consistent, you could do the following.
str='1|Toy Story (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Toy%20Story%20(1995)|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0'
NewStr=str(end-37:end);
NewStr=NewStr(2:2:end);
NewStr=str2num(NewStr')
Otherwise, use regexp()
Movie={'1|Toy Story (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Toy%20Story%20(1995)|0|0|0|1|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0';
'2|GoldenEye (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?GoldenEye%20(1995)|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0';
'3|Four Rooms (1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Four%20Rooms%20(1995)|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|1|0|0'}
Found=regexp(Movie,'(\|[01]\|)+.+','match');
Data=cell(size(Found));
for k=1:size(Found,1)
temp=Found{k};
Data{k}=temp{1}(2:2:end)-'0';
end
5 commentaires
Walter Roberson
le 11 Sep 2011
Variant:
NewStr = str(end-37:end);
NewStr = NewStr(2:2:end) - '0';
with the str2num not required.
Fangjun Jiang
le 11 Sep 2011
Thanks, Walter! I kept forgetting this trick.
huda nawaf
le 11 Sep 2011
Fangjun Jiang
le 11 Sep 2011
In the example code in my answer, str contains one long string which is the information regarding one movie record. 37 means the last 37 characters which contain '|0|0|1...'. Run the code one line a time to see the result.
Fangjun Jiang
le 12 Sep 2011
See update using regexp()
Walter Roberson
le 11 Sep 2011
barpos = find(str == '|');
nums = str(barpos(5)+1:2:end) - '0';
Be careful, though, as the number of flags appears to be inconsistent. I count one more on the first example than in the second, if I assume that the '03|FourRooms...' is really the start of a new record that you have accidentally joined together with the GoldenEye row.
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!