我如何在c#中拆分字符串?

时间:2012-11-28 03:04:52

标签: c#

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

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


---示例地址---

***街:#306,洛杉矶天空,对面线塔,第3交叉

城市/镇:Ang Mo Kio

州:Al-mera

邮政:520506

国家:迪拜


但我的字符串意味着

“#306,Los Angel,opp Line Tower,3rd cross \ n Mo Kio Al-mera 520506 \ nDubai”

从上面的字符串

我如何拆分街道,城市,州,邮政和国家。

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

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

如何将上面的原始字符串拆分成相应的c#变量?

3 个答案:

答案 0 :(得分: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' })

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

答案 1 :(得分:0)

使用C#Split()功能

string[] add_var=addrString.Split(',');

答案 2 :(得分: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();
            }

        }