Привет всем. Я работаю со следующим URL-адресом, и мне нужно получить параметры key-values из этого URL-адреса, URL-адрес может быть в следующих форматах:
http://www.espn.com/watch/?gameId=1234&league=nfl&lang=es. В этом случае я использую следующую логику:
def parseUrlStringToMap( def url )
{
def mapResult
if ( url.contains( "&" ) || url.contains( "?" ) )
{
mapResult = url?.split( '\\?' )[ 1 ]?.split( '&' )?.inject( [:] ) { map, token ->
token?.split( '=' )?.with { map[ it[ 0 ] ] = it[ 1 ] }
map
}
}
//Here I have to implement the logic for the second type of url
def params = new URL( url ).getQuery()
return mapResult
}
и второй формат без параметров:
http://www.espn.com/fantasy/story/_/id/24664478/fantasy-soccer-la-liga-fantasy-transfer-market-matchweek-4.
Мне нужно извлечь карту с помощью [id: 24664478]. Я пытался использовать подстроку. Знаете ли вы, есть ли изощренный способ сделать это без использования подстроки?
Заранее спасибо.