从String中提取相关信息的最佳方法?

时间:2012-02-28 20:52:40

标签: ruby arrays substring

我有一个字符串数组,在创建新类时应该用作约束。

他们看起来像这样:

constraint :name, 'name.size > 0'
constraint :name, 'name =~ /^[A-Z]/'

正如你所看到的那样,由'name'组成,这将是一个属性(并且将有获取/设置它所持有的值的方法)

约束本身就是有效的ruby booleans。

从这些字符串获取所需信息并在方法中实现它们的最佳方法是什么?

截至目前,我正在尝试切断字符串,如下所示:

y = String.index("'")
x = String.length
newstr = String[x,y]

等等,但这真的感觉我正在变得比它更难......

2 个答案:

答案 0 :(得分:0)

尝试使用Split方法。如果您只想要'使用它之后的信息:

username = "abcd'hijk"      => "abcd'hijk"
username.split("'").last    => "hijk"

答案 1 :(得分:0)

不同的方式

a = "abcd'hijk"

a.split("'").last  #=> hijk

a[a.index("'")+1 .. -1] #=> hijk

a =~ /'(.+)$/
puts $1 #=> hijk