日期:2014-05-17  浏览次数:20388 次

读取文件,特殊字符处理。。
txt文件格式:
 
HTML code

 mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEID U$$$$mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEIDU$$$$mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEIDU$$$$
  


  应该读出来是3条数据 按照$$$$ 去分隔行 
  mdbm|$|usercode 之间按|$|分隔字段数据

------解决方案--------------------
那就先按 $$$$ Split。然后对每一个项再按|$| 分隔
------解决方案--------------------
你这个格式规则很明确,用 Split 就可以

http://topic.csdn.net/u/20111110/09/db95591d-5465-4830-ac8d-f264c2c76db1.html
------解决方案--------------------
C# code

string origin = "mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEID U$$$$mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEIDU$$$$mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEIDU$$$$";
            origin=origin.Replace("$$$$", "#");
            string[] array = origin.TrimEnd('#').Split('#');

------解决方案--------------------
C# code
public void Page_Load(object sender, EventArgs e)
    {
        string str = "mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEID U$$$$mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEIDU$$$$mdbm|$|usercode|$|strguid|$|txm|$|hjzcs|$|spcs|$|pmsl|$|pmkc|$|saleprice|$|memo|$|GpsAdrdss|$|GPSJINDU|$|GPSWEIDU$$$$";
        str = str.TrimEnd(new char[] { '$', '$', '$', '$' });
        string[] rows = str.Replace("$$$$", "㊣").Split('㊣');
        for (int i = 0; i < rows.Length; i++)
        {
            string[] cols = rows[i].Replace("|$|", "㊣").Split('㊣');
            for (int j = 0; j < cols.Length; j++)
            {
                Response.Write(string.Format("数据{0}为:第{1}行,第{2}列<br/>", cols[j], i + 1, j + 1));
            }
        }
    }

------解决方案--------------------
主要是转化$ 要用其他的代替下
  
try
C# code

  string str = "mdbm|$|usercode|$|strguid$$$$mdbm|$|usercode|$|strguid$$$$";

  str = str.Replace("$$$$", "@").Replace("|$|", "#");