hi,
this is sample of my data:
"1|Toy Story (1995)|01-Jan-1995||"
I wrote this code to get over '|' in these data :
%%%%%%%%%
f=fopen('u2.txt','r');
b=fscanf(f,'%s');
for i=1:length(b)
if b(i)=='|'
b(i)=[];
end
end
%%%%%%%%%%%%
but, I got error
how I get over this character '|'?
thanks

Réponses (2)

bym
bym le 10 Sep 2011

0 votes

one possible solution without for loop
b(b=='|')=[]
b =
1Toy Story (1995)01-Jan-1995
[EDIT]
b =
1|Toy Story (1995)|01-Jan-1995||
for i=1:length(b) if b(i)=='|' b(i)=' '; end; end
b =
1 Toy Story (1995) 01-Jan-1995

3 commentaires

huda nawaf
huda nawaf le 10 Sep 2011
thanks, i get it.
but if I want use if for another reason ,what can I do?
bym
bym le 10 Sep 2011
you can use the if statement to insert a space ' ' rather than deleting the character with []. That way, the length of b stays the same and the for loop completes without error
Fangjun Jiang
Fangjun Jiang le 11 Sep 2011
Or, do the for-loop backward.
for i=length(b):-1:1
if b(i)=='|'
b(i)=[];
end
end

Connectez-vous pour commenter.

Jan
Jan le 12 Sep 2011

0 votes

Another solution:
b = strrep(b, '|', '');

Catégories

En savoir plus sur Get Started with MATLAB dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by