-5

在我的应用程序中,我需要存储给定的以下数据..

街道、城市、州、邮政和国家


---样品地址---

***街道:#306,洛杉矶,opp Line Tower,3rd cross

城市/城镇:宏茂桥

州:阿尔梅拉

邮政:520506

国家:迪拜


但我的字符串之类的意思

"#306, Los Angel,opp Line Tower,3rd cross\nAng Mo Kio Al-mera 520506\nDubai"

从上面的字符串中,我如何拆分街道、城市、州、邮政和国家。

[注意:所有字段都不是必填字段,甚至可能为空。所以当空字段将值作为相应字段的空字符串传递时]

C#变量声明:string street,city,state,postal,country=string.empty;

我如何将上面的原始字符串中的值存储为对应的 c# 变量?

4

3 回答 3

2

尝试这个:

var address = "#306, Los Angel,opp Line Tower,3rd cross\nAng Mo Kio Al-mera 520506\nDubai".Split(new [] {',', '\n' })
var array = address.Split(new [] {',', '\n' })

然后遍历一个数组来分配变量。这将由新行和逗号分隔,并将保留空字段(即多个逗号不是问题)

于 2012-11-28T03:09:20.940 回答
0
 var address = "#306, Los Angel,opp Line Tower,3rd cross\nAng Mo Kio Al-mera 520506\nDubai".Split(new[] { ',', '\n' });
        var array = Page.Request["Address"].ToString().Split(new[] { ',', '\n' });


        if (array.Count() != 0)
        {
            if (array[array.Count() - 1].ToString() != "") // Country
                sCountry = array[array.Count() - 1].ToString();
            else
                sCountry = "";


            var sTemp = array[array.Count() - 2].ToString().Split(new[] { ' ' });

            if (sTemp.Count() != 0)
            {

                // PostalCode
                if (sTemp[sTemp.Count() - 1].ToString() != "")
                {
                    sPostalCode = sTemp[sTemp.Count() - 1].ToString();
                }
                else
                {
                    sPostalCode = "";
                }

                //State Name
                if (sTemp[sTemp.Count() - 2].ToString() != "")
                {
                    sState = sTemp[sTemp.Count() - 2].ToString();
                }
                else
                {
                    sState = "";
                }

            }
            else
            {
                sPostalCode = "";
                sState = "";
            }

            if (array[array.Count() - 3].ToString() != "") // City
                sCity = array[array.Count() - 3].ToString();
            else
                sCity = "";


            for (int i = 0; i < (array.Count() - 3); i++)  // Street
            {
                sStreet = sStreet + array[i].ToString();
            }

        }
于 2012-11-28T03:40:33.480 回答
0

使用 C# Split()函数

string[] add_var=addrString.Split(',');
于 2012-11-28T03:07:26.880 回答