C#将字符串分成多个部分

use*_*432 5 c#

我有以下字符串:

+53.581N -113.587W 4.0 Km W of Edmonton, AB
Run Code Online (Sandbox Code Playgroud)

无论如何,在C#中将此字符串分解为Long.LATT.然后是城市国家并且丢弃中间部分?

所以基本上我想要3个字符串:

Long
Latt
Location.
Run Code Online (Sandbox Code Playgroud)

这种字符串有多种形式吗?它们属于同一种形态,但显然数据会有所不同.

谢谢

Ken*_*rds 4

使用正则表达式来完成此操作 - 例如:

string input = @"+53.581N -113.587W 4.0 Km W of Edmonton, AB";
Match match = Regex.Match(input, @"^(?<latitude>[+\-]\d+\.\d+[NS])\s+(?<longitude>[+\-]\d+\.\d+[EW])\s+\d+\.\d+\s+Km\s+[NSEW]\s+of\s+(?<city>.*?),\s*(?<state>.*)$");
if (match.Success) {
    string lattitude = match.Groups["lattitude"].value;
    string longitude = match.Groups["longitude"].value;
    string city = match.Groups["city"].value;
    string state = match.Groups["state"].Value;
}
Run Code Online (Sandbox Code Playgroud)