Template:Find country/doc

Extracts from string the name of a continent or country (Africa, India, the United Kingdom etc). Returns nothing if there is no match.

Note that the country in the string must properly capitalised. "India" will be matched, but "india" or "INDIA" will be ignored.

The list of countries is hard-coded in a list in Module:Find country, based on the list in Football demonyms - the code works its way down that list in order. The "longest" form of a country name comes first, so eg "the United Kingdom" comes before "United Kingdom" and so both will be matched, but the "the" form if present will be returned first (and hence is returned by default unless the match parameter is set otherwise)

Some options allow its behaviour to be configured.

Basic usage
This usage will return the first time in string Foo which matches the correctly-capitalised name of a continent or country.

If no match is found, it returns an empty string. This allows its simple use in templates, e.g.

Optional parameters
One parameter is obligatory, two optional parameters are available:


 * value
 * This forces the template to use a title other than the current page


 * value
 * This parameter is used to specify a message to be generate if no match is found. For example
 * Default output  →
 * with nomatch  →


 * number
 * If multiple country names are found, this specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1.
 * Examples:

TemplateData
{	"params": { "string": { "label": "Search string", "description": "String to search for country. If left blank, the template will return a blank, the bare module will use the page name", "type": "string" },		"match": { "label": "Match Instance", "description": "If multiple countries are found, this specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1.", "type": "number", "default": "1" },		"nomatch": { "label": "No match text", "description": "If no countries are found, output the \"nomatch\" value. Defaults to blank.", "type": "string" }	},	"description": "Extracts a country name from a string. All parameters are optional." }