在括号之间获取价值

时间:2018-10-11 09:41:52

标签: ruby

我有:

item = "[a,b,c,d]"

我想要[]之间的值:

"a,b,c,d"

我尝试过:

item.split(/,/)

但这不起作用。我尝试了split / each,但是都没有用。

3 个答案:

答案 0 :(得分:4)

非常脏,但它应该对您有用:

item[1..-2]

答案 1 :(得分:3)

> item.delete('[|]')
#=> "a,b,c,d" 

要覆盖自我价值,您可以使用 delete!

注意:它只会从字符串中删除括号,如果您的值可以是任意值,并且您只想获取括号中的字符串,请使用:

> item = "hi [a,b,c,d] world"
> item[/(?<=\[).*(?=\])/]
# OR
> item[/\[(.*)\]/, 1]
#=> "a,b,c,d" 

答案 2 :(得分:1)

尝试:

item[/\[(.*?)\]/, 1]

或者:

item[/(?<=\[).*?(?=\])/]