我需要用索引替换字符串中的所有特殊字符。 例如,
"I-need_to@change$all%special^characters^"
应该成为:
"I1need6to9change16all20special28characters39"
所有特殊字符的索引都不同。 我检查了很多链接replacing all with single character,occurances of a character。 我找到了非常相似的链接,但我不想采用这些replace its index number,因为我需要替换所有特殊字符。
我也尝试过这样的事情:
str.gsub!(/[^0-9A-Za-z]/, '')
这里str是我的示例字符串。 因为这会替换所有字符但是有空格,我想要索引而不是空格。要么所有特殊字符还是这七个
\/*[]:?
我需要主要更换这七个,但如果我们更换所有这些就行了。
我需要一种更简单的方法。
提前致谢。
答案 0 :(得分:2)
您可以使用全局变量$`
和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"