基本上问题是什么.如何删除字符串中给定索引位置的字符? String类似乎没有任何方法可以执行此操作.
如果我有一个字符串“HELLO”我希望输出是这样的
- ["ELLO","HLLO","HELO","HELL"]
我这样做
- d = Array.new(c.length){|i| c.slice(0,i)+c.slice(i+1,c.length)}
我不知道是否使用切片!会在这里工作,因为它会修改原始字符串,对吗?
解决方法
- $cat m.rb
- class String
- def maulin! n
- slice! n
- self
- end
- def maulin n
- dup.maulin! n
- end
- end
- $irb
- >> require 'm'
- => true
- >> s = 'hello'
- => "hello"
- >> s.maulin(2)
- => "helo"
- >> s
- => "hello"
- >> s.maulin!(1)
- => "hllo"
- >> s
- => "hllo"