val = " hello ".sub(/\t/, ' ')
puts val
Cant covert tabbed spaces into regular single spaces
Anyone have any ideas?
···
--
Posted via http://www.ruby-forum.com/.
val = " hello ".sub(/\t/, ' ')
puts val
Cant covert tabbed spaces into regular single spaces
Anyone have any ideas?
--
Posted via http://www.ruby-forum.com/.
Peter Loftus wrote:
val = " hello ".sub(/\t/, ' ')
puts valCant covert tabbed spaces into regular single spaces
Anyone have any ideas?
irb(main):006:0> "\tlol\t".gsub("\t", ' ')
=> " lol "
--
Posted via http://www.ruby-forum.com/\.
Peter Loftus wrote:
val = " hello ".sub(/\t/, ' ')
puts valCant covert tabbed spaces into regular single spaces
Anyone have any ideas?
You could use a regex that converts whitespace into a single space, in
case tbas aren't the \t character, but are expanded to spaces.
http://doc.infosnel.nl/ruby_regular_expressions.html
(Best thing I found but Programming Ruby and The Ruby Way cover this,
and Programming Ruby's 1st Edition is available for free.)
- --
Phillip Gawlowski
Twitter: twitter.com/cynicalryan
~ - You know you've been hacking too long when...
...you discover that you're balancing your checkbook in octal.
Use gsub instead of sub!
sub only changes the first occurence, gsub chances all.
val = " AWESOME ".gsub(/\t/, ' ')
puts val
--------------------------------------------|
If you're not living on the edge,
then you're just wasting space.
On Apr 18, 2008, at 9:32 AM, Peter Loftus wrote:
val = " hello ".sub(/\t/, ' ')
puts valCant covert tabbed spaces into regular single spaces
Anyone have any ideas?
The code you posted will only substitute the first tab character into
a single space. If you want all occurrences, use String#gsub.
Secondly, if by "tabbed spaces" you mean that the string doesn't
actually contain tabs, then asking to replace the tab character (\t)
isn't going to do anything.
If, for example, you know tabs have been converted to 4 spaces, you
could do something like this val.gsub(/ {4}/, ' ').
If what you really want is just to have any whitespace converted to a
single space, you could do this: val.gsub(/\s+/, ' ')
HTH,
Chris
On Apr 18, 7:32 am, Peter Loftus <lof...@gmail.com> wrote:
val = " hello ".sub(/\t/, ' ')
puts valCant covert tabbed spaces into regular single spaces
Anyone have any ideas?
--
Posted viahttp://www.ruby-forum.com/.
Use the String#tr comand
str = "string\twith\ttabs"
str.tr("\t", " ")
Blessings,
TwP
(and from the RDoc ...)
str.tr(from_str, to_str) => new_str
Returns a copy of str with the characters in from_str replaced by the corresponding characters in to_str. If to_str is shorter than from_str, it is padded with its last character. Both strings may use the c1—c2 notation to denote ranges of characters, and from_str may start with a ^, which denotes all characters except those listed.
"hello".tr('aeiou', '*') #=> "h*ll*"
"hello".tr('^aeiou', '*') #=> "*e**o"
"hello".tr('el', 'ip') #=> "hippo"
"hello".tr('a-y', 'b-z') #=> "ifmmp"
On Apr 18, 2008, at 7:32 AM, Peter Loftus wrote:
val = " hello ".sub(/\t/, ' ')
puts valCant covert tabbed spaces into regular single spaces
Anyone have any ideas?