Skip to content

Very simple module for detection of countries in given text. Detects countries by international and local name, some of them even by EN, ES, FR, DE, CZ mutations.

Notifications You must be signed in to change notification settings

365talents/country-in-text-detector

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Country in Text Detector

npm license github-issues NPM Downloads

This module detects countries that appear/are mentioned in given text. It uses names of countries and almost 500 large cities and returns ISO 3166-1 code of country, its name and list of matches found in the text. Module can recognise international and local names, some of them in more language mutations, such as EN, ES, FR, DE, CZ.

Handles special characters, flags and emojis, so you can analyse any text without need of preprocessing.

Installation (NPM)

npm install --save country-in-text-detector

Examples

You can also find these examples in examples.js file.

var countryDetector = require("country-in-text-detector");

// handles countries in text, result is array of matches (objects)
var result = countryDetector.detect("Hello, I come from Germany!");
/*
[
	{ iso3166: 'DE', name: 'Germany', type: 'country', matches: [ 'Germany' ] }
]
*/

// handles large cities in text
var cities = countryDetector.detect("I just moved from Austin, TX to NYC.");
/*
[
	{ iso3166: 'US-NY', name: 'New York City', countryName: 'New York',  type: 'city', matches: [ 'NYC' ] },
	{ iso3166: 'US-TX', name: 'Austin', countryName: 'Texas', type: 'city', matches: [ 'Austin, TX' ] }
]
*/

// handles local/international names
var local = countryDetector.detect("RU: Я родился в России. EN: I was born in Russia.");
/*
[
	{ iso3166: 'RU', name: 'Russia', type: 'country', matches: [ 'России', 'Russia' ] }
]
*/

// handles frequent language mutations
var mutations = countryDetector.detect("FR: J'ai vécu en Italie. EN: I lived in Italy.");
/*
[
	{ iso3166: 'IT', name: 'Italy', type: 'country', matches: [ 'Italie', 'Italy' ] }
]
*/

// handles special characters and emojis
var special = countryDetector.detect("Adoro❤️ o 🇧🇷Rio~de~Janeiro💃🏼 !");
/*
[
	{ iso3166: 'BR', name: 'Rio de Janeiro', countryName: 'Brazil', type: 'city', matches: [ 'Rio~de~Janeiro' ] }
]
*/

About

Very simple module for detection of countries in given text. Detects countries by international and local name, some of them even by EN, ES, FR, DE, CZ mutations.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%