假设我有一个字符串 "rubinassociatespa"
,我想做的是在任何其他字符串中检测该字符串的任何包含 3 个或更多字符的子字符串。
例如,应检测以下字符串:
鲁宾
同事
水疗中心
屁股
擦
等
但不应检测的是以下字符串:
抢劫
cpa
dea
ru
或未出现在我的原始字符串中或短于 3 个字符的任何其他子字符串。
基本上,我有一个字符串,我正在将许多其他字符串与它进行比较,我只想匹配包含原始字符串子字符串的字符串。
我希望这很清楚。
最佳答案
str = "rubinassociatespa"
arr = %w| rubin associates spa ass rub rob cpa dea ru |
#=> ["rubin", "associates", "spa", "ass", "rub", "rob", "cpa", "dea", "ru"]
只需使用 String#include? .
def substring?(str, s)
(s.size >= 3) ? str.include?(s) : false
end
arr.each { |s| puts "#{s}: #{substring? str, s}" }
# rubin: true
# associates: true
# spa: true
# ass: true
# rub: true
# rob: false
# cpa: false
# dea: false
# ru: false
关于ruby - 如何检测另一个字符串中 1 个字符串中是否存在子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40009394/