Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Chef ruby中获取子字符串值_Ruby On Rails_Ruby_Ruby On Rails 3_Chef Infra_Chef Recipe - Fatal编程技术网

Ruby on rails 在Chef ruby中获取子字符串值

Ruby on rails 在Chef ruby中获取子字符串值,ruby-on-rails,ruby,ruby-on-rails-3,chef-infra,chef-recipe,Ruby On Rails,Ruby,Ruby On Rails 3,Chef Infra,Chef Recipe,我有一个具有以下值的字符串: ucp-1.1.0_dtr-2.0.0 我正在尝试从字符串中仅获取1.1.0。我正在使用以下代码,但它似乎不起作用 substring = ucp-1.1.0_dtr-2.0.0.gsub('ucp-','') substring=“ucp-1.1.0\u dtr-2.0.0”。gsub(“ucp-”,“”)。拆分(“u”)。首先未测试。substring=“ucp-1.1.0\u dtr-2.0.0”。gsub(“ucp-”,“”)。拆分(“u”)。首先未测试

我有一个具有以下值的字符串:

ucp-1.1.0_dtr-2.0.0
我正在尝试从字符串中仅获取
1.1.0
。我正在使用以下代码,但它似乎不起作用

substring = ucp-1.1.0_dtr-2.0.0.gsub('ucp-','')
substring=“ucp-1.1.0\u dtr-2.0.0”。gsub(“ucp-”,“”)。拆分(“u”)。首先
未测试。

substring=“ucp-1.1.0\u dtr-2.0.0”。gsub(“ucp-”,“”)。拆分(“u”)。首先
未测试。

尝试以下方法(已验证):

“ucp-1.1.0\u dtr-2.0.0”。匹配(/^.-.-.$/)[1]

尝试以下方法(已验证):


“ucp-1.1.0\U dtr-2.0.0”。使用正则表达式和ruby字符串方法匹配(/^.-.-.$/)[1]

,您可以实现这一点

“ucp-1.1.0\U dtr-2.0.0”

或者用你的代码你可以试试这个

substring = "ucp-1.1.0_dtr-2.0.0".gsub('ucp-','').split("_").first

使用正则表达式和ruby字符串方法可以实现这一点

“ucp-1.1.0\U dtr-2.0.0”

或者用你的代码你可以试试这个

substring = "ucp-1.1.0_dtr-2.0.0".gsub('ucp-','').split("_").first
字符串和一个简单的正则表达式可以:

'ucp-1.1.0_dtr-2.0.0'[/[\d.]+/] # => "1.1.0"
这是因为搜索将在匹配后立即停止,因此第一次出现的结果将是
1.1.0

如果您想要第二次/最后一次出现,那么添加
$
会告诉正则表达式引擎只查看匹配模式的行尾:

'ucp-1.1.0_dtr-2.0.0'[/[\d.]+$/] # => "2.0.0"
包含所有这些内容。

字符串和一个简单的正则表达式就可以做到这一点:

'ucp-1.1.0_dtr-2.0.0'[/[\d.]+/] # => "1.1.0"
这是因为搜索将在匹配后立即停止,因此第一次出现的结果将是
1.1.0

如果您想要第二次/最后一次出现,那么添加
$
会告诉正则表达式引擎只查看匹配模式的行尾:

'ucp-1.1.0_dtr-2.0.0'[/[\d.]+$/] # => "2.0.0"
这本书涵盖了所有这一切