Ruby中字符串中选定字符替换的所有可能组合 [英] All possible combinations of selected character substitution in a string in ruby
本文介绍了Ruby中字符串中选定字符替换的所有可能组合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道是否有一种简单的方法可以以简单的方式在ruby中完成所选字符替换的每种组合。
I was wondering if there is a simple way to do every combination of selected character substitutions in ruby in a simple way.
示例:
string = "this is a test"
subs = ['a'=>'@','i'=>'!','s'=>'$']
subs.combination.each { |c|
string.gsub c
}
将产生收益
"this is @ test"
"th!s !s a test"
"thi$ i$ a te$t"
"th!s !s @ test"
"thi$ i$ @ te$t"
"th!$ !$ a te$t"
"th!$ !$ @ te$t"
感谢您的帮助!
推荐答案
string = "this is a test"
subs = ['a'=>'@','i'=>'!','s'=>'$']
subs = subs.first.map(&:to_a)
1.upto(subs.length).each do |n|
subs.combination(n).each do |a|
p a.each_with_object(string.dup){|pair, s| s.gsub!(*pair)}
end
end
这篇关于Ruby中字符串中选定字符替换的所有可能组合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文