ZengCode.Com (The Thai Php Framework)  


Home   Download   Manual   About us    

Facebook   


MAIN MENU
News
Php Tips
Android Programming
Design Pattern By PHP
Spring+Strut+Hibernate
C# Tips & Technique
C# Design Pattern
Linux Quick Tips
C# using Linq น่าใช้จริงๆ
Java & JavaScript Tips
Database & SQL
ZengCode Framework Guide
Zeng Code Code
Programming
IPhone (Tips and Trick)

Download เอกสารที่น่าสนใจ

     แก้ปัญหาการ Split String เมื่อต้องการ ignore อักขระที่ต้องการแยกอยู่ใน "" (Double Quote)  (2010-04-07)

นั่งปวดหัวอยู่ตั้งนาน ว่าจะจัดการกะมันยังไง พอดีเจอ Code ที่โดนเลยเอามาฝากครับ

 

   static string[] SplitCSV(string s)
        {
            List<string> list = new List<string>();
            StringBuilder work = new StringBuilder();
            for (int i = 0; i < s.Length; i++)
            {
                char c = s[i];
                if (c == '"')
                {
                    int p2;
                    while (true)
                    {
                        p2 = s.IndexOf('"', i + 1);
                        work.Append(s.Substring(i + 1, p2 - i - 1));
                        i = p2;

                        // If this is a double quote, keep going!
                        if (((p2 + 1) < s.Length) && (s[p2 + 1] == '"'))
                        {
                            work.Append('"');
                            i++;

                            // otherwise, this is a single quote, we're done
                        }
                        else
                        {
                            break;
                        }
                    }
                }
                else if (c == ',')
                {
                    list.Add(work.ToString());
                    work.Length = 0;
                }
                else
                {
                    work.Append(c);
                }
            }
            list.Add(work.ToString());
            return list.ToArray();
        }

 เอาไปใช้ดูครับมีประโยชน์มากๆ ผมเจอปัญหานี้บ่อยมากๆๆๆๆๆ


Comment
Name
Comment
Security CodeCAPTCHA Image

web hit counter

This page took 0.043039 seconds to load.