0

我有一个如下字符串:

"[a06aad57-5671-482e-dbdd81dc39b1]   Parameters: {\"ToCountry\"=>\"US\", \"ToState\"=>\"AL\", \"SmsMessageSid\"=>\"SMa1a9e32a7503f7342b7065d77174d\"}"  

我想只捕获 ' Parameters:' 的值,如下所示并将其转换为哈希。键/值可以是上述原始字符串中的任何值:

{"ToCountry"=>"US", "ToState"=>"AL", "SmsMessageSid"=>"SMa1a9e32a7503f3767342b7065d77174d"}

4

2 回答 2

2

您可以通过几个步骤来完成:

require 'json'

string = "[a06aad57-5671-482e-dbdd81dc39b1]   Parameters: {\"ToCountry\"=>\"US\", \"ToState\"=>\"AL\", \"SmsMessageSid\"=>\"SMa1a9e32a7503f7342b7065d77174d\"}"
prepared_string = string.match(/Parameters:(.*)/)[1].gsub("=>", ":")
json = JSON.parse(prepared_string)
#=> {"ToCountry"=>"US", "ToState"=>"AL", "SmsMessageSid"=>"SMa1a9e32a7503f7342b7065d77174d"}
于 2020-02-12T12:08:56.117 回答
0

不是通过正则表达式,也不是评估用户输入的最佳方法,但这会做到:

eval str.split("Parameters: ")[1]
于 2020-02-12T11:47:32.350 回答