Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   Removing Special Chars from a String (http://www.velocityreviews.com/forums/t850751-removing-special-chars-from-a-string.html)

Jeff Miller 06-05-2008 12:07 AM

Removing Special Chars from a String
 
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-forum.com/.


Rodrigo Bermejo 06-05-2008 12:14 AM

Re: Removing Special Chars from a String
 
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-forum.com/.


Jeff Miller 06-05-2008 01:16 AM

Re: Removing Special Chars from a String
 
thanks, that helped a lot! much appreciated!
--
Posted via http://www.ruby-forum.com/.


Robert Klemme 06-06-2008 06:28 AM

Re: Removing Special Chars from a String
 
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.oracle.com/ for docs.

Kind regards

robert


All times are GMT. The time now is 05:02 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.