split 方法将地址分为街道、城市、州和邮政编码,只显示街道和城市段

Split method to divide the address into street, city, state, and zip code and display only the street and city segments

这是我被问到的问题: 使用 Split 方法将地址分为街道、城市、州和邮政编码,仅显示街道和城市段

我的错误是什么? 地址格式:123 ABC Dr, Omaha, NE 12345 这是我的代码:(它只显示街道号码)。

/*Address code now*/
            Console.Write("\n\nWhat's your university address:");
            string strUAAaddress = (Console.ReadLine());


            /*divide the address into street, city, state, and zip code. display only the street/city*/
            strUAAaddress=strUAAaddress.Trim();
           if (strUAAaddress.StartsWith(" "))
                strUAAaddress = strUAAaddress.Remove(0, 1); 
          string[] addressParts = strUAAaddress.Split(' '); //strUAAaddress.Split(' ');
          string street = addressParts[0];
          string state = addressParts[2];
          string city = addressParts[1];
          string zipCode = addressParts[3];

          Console.WriteLine(street); Console.Write(city); Console.Write(zipCode); Console.Write(state);

查看地址格式,分隔符为,和space字符。可以试试下面的代码

strUAAaddress=strUAAaddress.Trim();

string[] addressParts = strUAAaddress.Split(',');

string street = addressParts[0];
string city = addressParts[1];
string stateZip = addressParts[2];

此处我们获取街道、城市以及州和邮政编码的组合。 stateZip由州和邮政编码组成,我们需要根据space字符分隔符进一步拆分。

string []data = stateZip.Split(' ');
string state = data[0];
string zip = data[1];