2011-11-16 40 views
4

我有我想從一個字符串刪除的字符數組:如何將數組傳遞給sub或gsub紅寶石?

stops = ["[", "]", "^", "(", ")", "#", "*", "?", "~"]

我希望能夠通過該陣列,並有去除,使得這些字符的所有實例:

"str [with] unwanted# char*acters"

成爲

"str with unwanted characters"

回答

9

如果您需要刪除字符,你可以使用#delete

str.delete "[]^()#*?~" 
+0

這是簡單的!哈哈:)比使用數組更好 – user1049097

10
"str [with] unwanted# char*acters".gsub(Regexp.union(stops), '') 
# => "str with unwanted characters" 
0
str.tr('[]^()#*?~','') 
str.tr('[]^()#*?~','abcdefghi') 
+1

歡迎來到堆棧溢出!儘管這段代碼可能會解決這個問題,其中包括* how *和* why *的解釋,這可以解決問題[真的有所幫助](// meta.stackexchange.com/q/114762)來提高帖子的質量。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –