fastest way to remove this strange character

J

Junkone

Hello
I was trying out the roo gem and encountered this issue. when i do a
object.sheets, it seems to spit out the array and adds \000 for every
letter of the sheet name
for eg.
currentTrade becomes c\000u\000r\000r\000e\000n\000t\000T\000r\000a
\000d\000e\000

which is the fastest way to remove \000 from the array.



irb(main):005:0> ss=Excel.new("E:\\Documents and Settings\\TTSSR0149\
\Desktop\\orderingsystem.xls")

irb(main):003:0> ss.sheets()
=> ["c\000u\000r\000r\000e\000n\000t\000T\000r\000a\000d\000e\000", "M
\000i\000s
\000s\000e\000d\000T\000r\000a\000d\000e\000", "S\000c\000a\000n\000s
\000", "c\0
00l\000o\000s\000e\000d\000"]
irb(main):004:0>
 
D

darren kirby

quoth the Junkone:
Hello
I was trying out the roo gem and encountered this issue. when i do a
object.sheets, it seems to spit out the array and adds \000 for every
letter of the sheet name
for eg.
currentTrade becomes c\000u\000r\000r\000e\000n\000t\000T\000r\000a
\000d\000e\000

which is the fastest way to remove \000 from the array.

irb> s = "c\000u\000r\000r\000e\000n\000t\000T\000r\000a\000d\000e\000"
irb> n = ""
irb> s.unpack("S*").each {|c| n << c.chr}
=> [99, 117, 114, 114, 101, 110, 116, 84, 114, 97, 100, 101]
irb> n
=> "currentTrade"

Not sure if this is fastest or 'best'...

-d
 
J

Jano Svitok

Hello
I was trying out the roo gem and encountered this issue. when i do a
object.sheets, it seems to spit out the array and adds \000 for every
letter of the sheet name
for eg.
currentTrade becomes c\000u\000r\000r\000e\000n\000t\000T\000r\000a
\000d\000e\000

which is the fastest way to remove \000 from the array.



irb(main):005:0> ss=Excel.new("E:\\Documents and Settings\\TTSSR0149\
\Desktop\\orderingsystem.xls")

irb(main):003:0> ss.sheets()
=> ["c\000u\000r\000r\000e\000n\000t\000T\000r\000a\000d\000e\000", "M
\000i\000s
\000s\000e\000d\000T\000r\000a\000d\000e\000", "S\000c\000a\000n\000s
\000", "c\0
00l\000o\000s\000e\000d\000"]
irb(main):004:0>

It's unicode - so you may use iconv to convert to whatever 8-bit
encoding you want.
If you want to have the 'fastest' one - compare it to other approaches
with Benchmark.
 

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

Forum statistics

Threads
473,772
Messages
2,569,588
Members
45,100
Latest member
MelodeeFaj
Top