110,535
社区成员
发帖
与我相关
我的任务
分享
static void Main(string[] args)
{
var a = File.ReadAllLines("1.txt"); //假定你那两行数据被保存在 1.txt 中
foreach (var x in a)
{
Console.WriteLine(x);
getcsv(x);
Console.WriteLine("");
}
}
static void getcsv(string str)
{
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)
{
Console.WriteLine(st.ToString());
st = new StringBuilder();
}
break;
}
}
if (st.Length > 0) Console.WriteLine(st.ToString());
}
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));