If you know the exact string then you can convert the string to array, and then extract the string at that index. The index of the city is known in the template string. Just extract the string at that index, make sure that the template is followed while typing the command.
Something like this,
string toUser = "the string from the user";
string[] strings = toUser.Split(' ');
This would require a tough logic to get the city names and date. Most of the cities would include spaces in their names too.