[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Removing Special Chars from a String

Jeff Miller

6/5/2008 12:07:00 AM

Hello,
I'm pulling some fields out of an Oracle database and creating a CSV.
However, some fields have \n and \r in them, which messes up my CSV. Is
there a special function or a certain way I should try to get rid of
them? I tried using chomp, chomp!, strip, and strip! but I can't seem to
get it formatted the right way. An example string would be:

"\nhere is some text\r\n\r\nsome more text\n\r\n\reven more text"

Any suggestions?

Thanks,
- Jeff
--
Posted via http://www.ruby-....

3 Answers

Rodrigo Bermejo

6/5/2008 12:15:00 AM

0

Jeff Miller wrote:
> Hello,
> I'm pulling some fields out of an Oracle database and creating a CSV.
> However, some fields have \n and \r in them, which messes up my CSV. Is
> there a special function or a certain way I should try to get rid of
> them? I tried using chomp, chomp!, strip, and strip! but I can't seem to
> get it formatted the right way. An example string would be:
>
> "\nhere is some text\r\n\r\nsome more text\n\r\n\reven more text"
>
> Any suggestions?
>
> Thanks,
> - Jeff

If you want to delete them use this:

"\nhere is some text\r\n\r\nsome more text\n\r\n\reven more
text".gsub(/\r|\n/,"")

You can use: require 'csv' , it allows you to create/modify CSV with \r
& \n without messing up the data.

-r.
--
Posted via http://www.ruby-....

Jeff Miller

6/5/2008 1:16:00 AM

0

thanks, that helped a lot! much appreciated!
--
Posted via http://www.ruby-....

Robert Klemme

6/6/2008 6:29:00 AM

0

On 05.06.2008 02:14, Rodrigo Bermejo wrote:
> Jeff Miller wrote:
>> Hello,
>> I'm pulling some fields out of an Oracle database and creating a CSV.
>> However, some fields have \n and \r in them, which messes up my CSV. Is
>> there a special function or a certain way I should try to get rid of
>> them? I tried using chomp, chomp!, strip, and strip! but I can't seem to
>> get it formatted the right way. An example string would be:
>>
>> "\nhere is some text\r\n\r\nsome more text\n\r\n\reven more text"
>>
>> Any suggestions?
>>
>> Thanks,
>> - Jeff
>
> If you want to delete them use this:
>
> "\nhere is some text\r\n\r\nsome more text\n\r\n\reven more
> text".gsub(/\r|\n/,"")

This will glue together words that were only separated by special chars.
This might be better:

irb(main):001:0> s = "\nhere is some text\r\n\r\nsome more
text\n\r\n\reven more text"
=> "\nhere is some text\r\n\r\nsome more text\n\r\n\reven more text"

irb(main):002:0> s.gsub(/\s+/,' ')
=> " here is some text some more text even more text"
irb(main):003:0> s.gsub(/\s+/,' ').strip
=> "here is some text some more text even more text"

irb(main):004:0> s.gsub(/[\r\n]+/,' ')
=> " here is some text some more text even more text"
irb(main):005:0> s.gsub(/[\r\n]+/,' ').strip
=> "here is some text some more text even more text"

> You can use: require 'csv' , it allows you to create/modify CSV with \r
> & \n without messing up the data.

That's probably even better.

Jeff, note also that there are some nice formatting capabilities in
SQL*Plus so you might as well create your output from there.

See http://tahiti.o... for docs.

Kind regards

robert