how can access?
显示 更早的评论
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
回答(2 个)
Fangjun Jiang
2011-9-11
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 个评论
Walter Roberson
2011-9-11
Variant:
NewStr = str(end-37:end);
NewStr = NewStr(2:2:end) - '0';
with the str2num not required.
Fangjun Jiang
2011-9-11
Thanks, Walter! I kept forgetting this trick.
huda nawaf
2011-9-11
Fangjun Jiang
2011-9-11
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
2011-9-12
See update using regexp()
Walter Roberson
2011-9-11
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!