我正在尝试通过将完整的国家/地区名称作为输入来获取A2 ISO国家/地区代码。
例如:
var html = new WebClient().DownloadString("mysite.com");
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
var result = htmlDoc.DocumentNode.SelectNodes("//span[@class='mem_loc']").ElementAt(0).InnerText;
这会给我一个例外:
Bosnia & Herzegovina
United States
Croatia
输入如下:
Bosnia & Herzegovina
输出的国家/地区代码为:BA
美国:美国
克罗地亚:HR
等等......
在C#中执行此操作的最佳方法是什么?
答案 0 :(得分:0)
最后这样做了:
var html = new WebClient().DownloadString("mysite.com");
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(html);
var result = htmlDoc.DocumentNode.SelectNodes("//span[@class='mem_loc']").ElementAt(0).InnerText;
var regionFullNames = CultureInfo
.GetCultures(CultureTypes.SpecificCultures)
.Select(x => new RegionInfo(x.LCID))
;
var twoLetterName = Regex.Replace(regionFullNames.FirstOrDefault(
region => region.EnglishName.Contains(result)
).ToString(), "{.*?}","");
提供输入:美国
输出:美国