2012-11-28 97 views
-5

在我的应用程序需要给定存储以下数据的..如何在C#中分割字符串?

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


---样品地址---

***街道:#306,洛杉矶,opp线路塔,第三个十字路口

城市/城镇:宏茂桥

州:AL-梅拉

邮编:520506

国家:迪拜


但我的串状部件

“#306,洛杉矶天使,OPP线路铁塔,第3次交叉\ nAng Mo Kio Al-mera 520506 \ nDubai“

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

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

C#变量声明:string街道,城市,州,邮政,country = string.empty;

我怎么能存储从上面的原始字符串拆分到相应的c#变量的值?

+0

使用split();函数的字符串,它返回一个数组与字符串部分。 – RicardoE

+2

http://www.dotnetperls.com/split – RicardoE

回答

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' }) 

然后遍历数组分配的变量。将由新行和逗号和空字段分割将被保持(即多个逗号不是问题)

+0

好的,谢谢指出... –

0

使用C#Split()功能

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

看看他的输入,这是行不通的,他的地址行有多个逗号。 – taylorjonl

+0

好的,谢谢指出... –

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(); 
      } 

     }