data count problem in array

V

Vidya Vidya

hi all,

now i am facing problem with count, actually i need to count the data
after spliting like this is my one data

@aa=LIN*EDIA000005*000000570*570*0697*RC*SHEPLER'S EXCLU*100*SHEPLER'S
EXCLUSIVE*6042142403*SHEPLERS COGNAC HORNBACK CAIMAN
TAIL*20070719*20070719**02*724178914197******070
A**********************50384~

- i need to split based on *,if you split base on *, we can get number
count 44, but in coding i don't know how to count in array, i user
@a.size function, but its shows the count no 1 only, please help me
to count this record and get the array index.

i have given my coding, what i tried in below,

@[email protected]("~")
@a.each do |v|
@h=v.split("*")
@[email protected]
end
return @test

This is the sample records, this record will follows one by one at the
end of ~.
 
J

Jesús Gabriel y Galán

hi all,

now i am facing problem with count, actually i need to count the data
after spliting like this is my one data

@aa=LIN*EDIA000005*000000570*570*0697*RC*SHEPLER'S EXCLU*100*SHEPLER'S
EXCLUSIVE*6042142403*SHEPLERS COGNAC HORNBACK CAIMAN
TAIL*20070719*20070719**02*724178914197******070
A**********************50384~

- i need to split based on *,if you split base on *, we can get number
count 44, but in coding i don't know how to count in array, i user
@a.size function, but its shows the count no 1 only, please help me
to count this record and get the array index.

i have given my coding, what i tried in below,

@[email protected]("~")
@a.each do |v|
@h=v.split("*")
@[email protected]
end
return @test

This is the sample records, this record will follows one by one at the
end of ~.

The problem here is that * is a special character for regular
expressions, so you will have to escape it. This works:

@[email protected]("~")
@a.each do |v|
@h=v.split("\*")
end

Hope this helps,

Jesus.
 
B

bbiker

The problem here is that * is a special character for regular
expressions, so you will have to escape it. This works:

@[email protected]("~")
@a.each do |v|
@h=3Dv.split("\*")
end

Hope this helps,

Jesus.- Hide quoted text -

- Show quoted text -

the @ character should not be used unless the variable is an instance
variable (@x) or class variable (@@x)

you're showing your perl background

the character string must be enclosed within parentheses

aa=3D"LIN*EDIA000005*000000570*570*0697*RC*SHEPLER'S EXCLU*100*SHEPLER'S
\ # '\' instructs ruby to ignore the carriage return
EXCLUSIVE*6042142403*SHEPLERS COGNAC HORNBACK CAIMAN\
TAIL*20070719*20070719**02*724178914197******070\
A**********************50384~"

puts "aa is a #{aa.class} of length #{aa.size}"
ab =3D aa.split('~')
puts "ab is #{ab.class} of size #{ab.size}"


ab.each do |a|
puts "a is a #{a.class} of length #{a.size}"
b =3D a.split('*') # no need to escape unless you use a regex
split(/\*/)
puts "b is a #{b.class} of size #{b.size}"
end

aa is a String of length 195
ab is Array of size 1
a is a String of length 194
b is a Array of size 44 b,size or b.length
gives the size of the array
Complete(0)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,269
Messages
2,571,348
Members
48,024
Latest member
AnnisAnt61

Latest Threads

Top