110,534
社区成员
发帖
与我相关
我的任务
分享
static List<string> getcsv(string str)
{
var res = new List<string>();
var flag = 0;
var st = new StringBuilder();
foreach (var c in str)
{
st.Append(c);
switch (c)
{
case '"':
flag++;
break;
case ',':
if (flag % 2 == 0)
{
res.Add(st.ToString(1, st.Length - 3));
st = new StringBuilder();
}
break;
}
}
if (st.Length > 0) res.Add(st.ToString(1, st.Length - 2));
return res;
}
string aaa="xxxxx";
Stack<char> stack = new Stack<char>();
List<string> result = new List<string>();
int lastPos = 0;
for (int i = 0; i < aaa.Length; i++)
{
if (aaa[i] == '{' || aaa[i] == '(')
stack.Push(aaa[i]);
if (aaa[i] == ',' && stack.Count == 0)
{
result.Add(aaa.Substring(lastPos, i - lastPos));
lastPos = i + 1;
}
if (aaa[i] == '}' && stack.Count > 0 && stack.Peek() == '{')
stack.Pop();
if (aaa[i] == ')' && stack.Count > 0 && stack.Peek() == ')')
stack.Pop();
}
if (lastPos < aaa.Length)
result.Add(aaa.Substring(lastPos));
要下班了,差不多这个意思
string str="";//要分割的字符串
string SEPARATOR= ",";//存储分隔符
int count = UpdateItem.Count(p => p.ToString() == SEPARATOR);//获取分隔符在字符串中的个数
string[] strcount=new String[count]{};
for (int i = 0; i< count ;i++)
{
strcount[i]=str.Substring(0, PrimaryKey.IndexOf(","));//按照分隔符顺序截取字符串
str = str.Substring(str.IndexOf(",")+1);//截取剩下的字符串并存到str中
}
你可以按照这个思路试试