【问题标题】:Replace special character with its index用它的索引替换特殊字符
【发布时间】:2016-04-02 10:33:19
【问题描述】:

我需要用它们的索引替换字符串中的所有特殊字符。 例如,

"I-need_to@change$all%special^characters^"

应该变成:

"I1need6to9change16all20special28characters39"

所有特殊字符的索引不同。 我检查了许多链接replacing all with single characteroccurances of a character。 我发现了非常相似的链接,但我不想采用这些replace its index number,因为我需要替换所有特殊字符。

我也尝试过这样做:

str.gsub!(/[^0-9A-Za-z]/, '')

这里的 str 是我的示例字符串。 因为这替换了所有字符但有空格,我想要索引而不是空格。要么是所有特殊字符,要么是这七个

\/*[]:?

这七个我主要是要换掉,但是全部换掉就可以了。

我需要一个更简单的方法。

提前致谢。

【问题讨论】:

  • 什么是str? .....
  • str 是字符串(“I-need_to@change$all%special^characters^”)。

标签: ruby string


【解决方案1】:

可以使用全局变量$`gsub的块形式:

irb> str = "I-need_to@change$all%special^characters^"
=> "I-need_to@change$all%special^characters^"
irb> str.gsub(/[^0-9A-Za-z]/) { $`.length }
=> "I1need6to9change16all20special28characters39"

【讨论】:

    猜你喜欢
    • 2014-11-03
    • 2016-06-13
    • 2019-09-23
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 2011-12-28
    相关资源
    最近更新 更多