假设我有一个传入的字符串,我想扫描它以查看它是否包含我选择的任何单词“坏”。:)
将字符串拆分为数组是否更快,并将坏词保留在数组中,然后遍历每个坏词以及每个传入的词,看看是否有匹配,有点像:
badwords.each do |badword|
incoming.each do |word|
trigger = true if badword == word
end
end
或者这样做是否更快:
incoming.each do |word|
trigger = true if badwords.include? word
end
或者将字符串保持原样并使用看起来像这样的正则表达式运行 .match() 是否更快:
/\bbadword1\b|\bbadword2\b|\bbadword3\b/
还是性能差异几乎可以忽略不计?想知道这个有一段时间了。