2016-04-02 132 views
0

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

"[email protected]$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

什麼是'str'? ..... – sawa

+0

str是字符串(「I-need_to @ change $ all%special^characters ^」)。 – Manishh

回答

2

您可以使用全局變量$`gsub塊形式:

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