# Delete char

**URL:** <https://www.ruby-forum.com/t/delete-char/194055>\
**Category:** Ruby\
**Created:** [August 29, 2010, 11:02am UTC](https://www.ruby-forum.com/t/delete-char/194055 "2010-08-29T11:02:19Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 29, 2010, 11:02am UTC](https://www.ruby-forum.com/t/delete-char/194055/1 "2010-08-29T11:02:19Z")

</div>

i want to make ‘gkhj\*&()’ into ‘gkhj’,here is my code  
item=‘gkhj\*&()’  
item=item.map{|echar|  
if /[a-z]/=~ echar then  
echar=echar  
else  
echar=’’  
end}  
puts item  
why i can’t get what i want?  
Any advice appriciated.

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 29, 2010, 12:01pm UTC](https://www.ruby-forum.com/t/delete-char/194055/2 "2010-08-29T12:01:31Z")

</div>

On Sun, Aug 29, 2010 at 12:02 PM, Pen T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Any advice appriciated.  
> Much easier to use gsub with a negative character set for this:

puts item.gsub(/[^a-z]+/, ‘’)

HTH,  
Ammar

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 29, 2010, 2:45pm UTC](https://www.ruby-forum.com/t/delete-char/194055/3 "2010-08-29T14:45:07Z")

</div>

it is ok,but i want to know why my code can’t run?

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 29, 2010, 2:56pm UTC](https://www.ruby-forum.com/t/delete-char/194055/4 "2010-08-29T14:56:10Z")

</div>

pt@pt-laptop:~$ irb  
irb(main):001:0\> ‘gkhj\*&()’[0]  
=\> 103  
irb(main):002:0\>

can i get ‘gkhj\*&()’[0]=\>g??

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 29, 2010, 4:24pm UTC](https://www.ruby-forum.com/t/delete-char/194055/5 "2010-08-29T16:24:55Z")

</div>

On Sun, Aug 29, 2010 at 9:45 PM, Pen T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ## it is ok,but i want to know why my code can’t run?
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

I think you should take the advice of someone who shows you a Ruby way,  
but…

I looked at your code and modified it a little.  
It seems to work but I’m tired so this is all I can offer now.

item=‘gkhj\*&()’  
#item = ‘((c)?’  
item=item.split(//).map{|echar|  
if /[a-z]/=~ echar then  
echar=echar  
else  
echar=‘’  
end}  
p item\*“”

I would not do it this way but you wanted to know why your code did not  
work.

Harry

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 29, 2010, 5:45pm UTC](https://www.ruby-forum.com/t/delete-char/194055/6 "2010-08-29T17:45:43Z")

</div>

Le 29 août 2010 à 14:56, Pen T. a écrit :

> pt@pt-laptop:~$ irb  
> irb(main):001:0\> ‘gkhj\*&()’[0]  
> =\> 103  
> irb(main):002:0\>
> 
> can i get ‘gkhj\*&()’[0]=\>g??

Not on every ruby version out there. You’d be better using this :

> > ‘gkhj\*&()’[0, 1]  
> > =\> “g”
> 
> > ‘gkhj\*&()’[0…0]  
> > =\> “g”

(First is start index, count, the other is start index…end index ; both  
work on rubies 1.8 and 1.9 at least.)

Fred

---

<div class="post-metadata">

**Author:** ![luofeiyu](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/9de0a6/32.png) [@luofeiyu](https://www.ruby-forum.com/u/luofeiyu)\
**Post date:** [August 29, 2010, 4:26pm UTC](https://www.ruby-forum.com/t/delete-char/194055/7 "2010-08-29T16:26:41Z")

</div>

On Sun, Aug 29, 2010 at 9:56 PM, Pen T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 

p ‘gkhj\*&()’[0] #Ruby 1.9  
p ‘gkhj\*&()’.split(//)[0] #Ruby 1.8 ??

Harry
