我试图用尽可能少的代码来解决Ruby问题:)。我想检查给定的字符串是否以不同数量的符号开始,可以说一到三个'a'。这很容易使用reg exp,我可以写string.match(\^a {1,3}。* \)。但是,我必须根据a的确切数量对字符串进行更改。我怎样才能检测到它们,而不使用三个IF的那样:在字符串的开头找到给定符号的确切数字
do_string_manipulation1 if string.match(/^a.*/)
do_string_manupulation2 if string.match(/^aa.*/)
...
感谢提前:)
非常感谢。我不知道'匹配'返回什么 – mjekov
MatchData对象,如下所述:http://rubydoc.info/stdlib/core/1.9.3/MatchData –
或者,您可以使用=〜运算符,然后访问全局变量$ 1(在这种情况下,通常它是$ 1 .. $ n)。这样做的好处是速度更快,因为它不必创建MatchData对象。 –