如果我有一个字符串,我如何检查该字符串是否包含任何“rldu”序列?我真的很喜欢红宝石,对不起,如果这是一个愚蠢的问题。
右转,左转,下降,升降。
例如:
str = "udlv" #should return false
str = "lrd" #should return true
答案 0 :(得分:2)
假设字符串应完全由任意顺序的给定四个字符组成
str =~ /^[rldu]+$/
将返回可在条件中使用的整数或nil。如果你想要一个布尔值,请使用!!
:
!!str.match(/^[rldu]+$/)
答案 1 :(得分:2)
如果您想检查字符串是否包含 udlr
以外的任何内容,那么
!("udlv" =~ /[^udlr]/) # => false
!("lrd" =~ /[^udlr]/) # => true
答案 2 :(得分:2)
这个不使用正则表达式:
p "udlv".count("^rlrd").zero? #=> false
p "lrd".count("^rldu").zero? #=> true
“^ rldu”的意思是“除了rldu之外的其他所有东西”
答案 3 :(得分:1)