C#以逗号拆分字符串,若字段中包含逗号(备注:包含逗号的字段必须有双引号引用)则对其进行拼接处理
2014-01-03 13:50
387 查看
/// <summary>
/// 以逗号拆分字符串
/// 若字段中包含逗号(备注:包含逗号的字段必须有双引号引用)则对其进行拼接处理
/// 最后在去除其字段的双引号
/// </summary>
/// <param name="splitStr"></param>
/// <returns></returns>
private static string[] SplitStringWithComma(string splitStr)
{
var newstr = string.Empty;
List<string> sList = new List<string>();
bool isSplice = false;
string[] array = splitStr.Split(new char[] { ',' });
foreach (var str in array)
{
if (!string.IsNullOrEmpty(str) && str.IndexOf('"') > -1)
{
var firstchar = str.Substring(0, 1);
var lastchar = string.Empty;
if (str.Length > 0)
{
lastchar = str.Substring(str.Length - 1, 1);
}
if (firstchar.Equals("\"") && !lastchar.Equals("\""))
{
isSplice = true;
}
if (lastchar.Equals("\""))
{
if (!isSplice)
newstr += str;
else
newstr = newstr + "," + str;
isSplice = false;
}
}
else
{
if (string.IsNullOrEmpty(newstr))
newstr += str;
}
if (isSplice)
{
//添加因拆分时丢失的逗号
if (string.IsNullOrEmpty(newstr))
newstr += str;
else
newstr = newstr + "," + str;
}
else
{
sList.Add(newstr.Replace("\"", "").Trim());//去除字符中的双引号和首尾空格
newstr = string.Empty;
}
}
return sList.ToArray();
}
/// <summary>
/// 以逗号拆分字符串
/// 若字段中包含逗号(备注:包含逗号的字段必须有双引号引用)则对其进行拼接处理
/// 最后在去除其字段的双引号
/// </summary>
/// <param name="splitStr"></param>
/// <returns></returns>
private static string[] SplitStringWithComma(string splitStr)
{
var newstr = string.Empty;
List<string> sList = new List<string>();
bool isSplice = false;
string[] array = splitStr.Split(new char[] { ',' });
foreach (var str in array)
{
if (!string.IsNullOrEmpty(str) && str.IndexOf('"') > -1)
{
var firstchar = str.Substring(0, 1);
var lastchar = string.Empty;
if (str.Length > 0)
{
lastchar = str.Substring(str.Length - 1, 1);
}
if (firstchar.Equals("\"") && !lastchar.Equals("\""))
{
isSplice = true;
}
if (lastchar.Equals("\""))
{
if (!isSplice)
newstr += str;
else
newstr = newstr + "," + str;
isSplice = false;
}
}
else
{
if (string.IsNullOrEmpty(newstr))
newstr += str;
}
if (isSplice)
{
//添加因拆分时丢失的逗号
if (string.IsNullOrEmpty(newstr))
newstr += str;
else
newstr = newstr + "," + str;
}
else
{
sList.Add(newstr.Replace("\"", "").Trim());//去除字符中的双引号和首尾空格
newstr = string.Empty;
}
}
return sList.ToArray();
}
相关文章推荐
- C#以逗号拆分字符串,若字段中包含逗号(备注:包含逗号的字段必须有双引号引用)则对其进行拼接处理
- C#以逗号拆分字符串,若字段中包含逗号(备注:包含逗号的字段必须有双引号引用)则对其进行拼接处理
- .net 拆分字符串成数数组 包含使用空格 逗号 回车 换行符等
- SQL根据字符串类型字段进行排序,可以在取值的时候处理
- C++ string 字符串的拼接、拆分 常用于传输字符串命令包(先拼接好后 传送 接收到对其解包)
- 将逗号分割的clob字段转化为varchar,并将字符串拆分为多行
- mySQL字符串处理之一个字段包含多个ID的解决
- EL表达式处理字符串 是否 包含 某字符串 截取 拆分...............
- 在ASP.NET(C#)中查询字符串Like拼接where字段的方法
- sql语句查询某字段中包含指定字符串的数据列表,完全匹配字段中逗号中间的字符串数据
- MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法
- 存储过程拆分Patents表Inventor字段逗号分隔字符串
- Java拼接字符串时,多方法处理多余的逗号
- oracle exists判断一个日期格式的字段是否存在逗号拼接的字符串日期里
- C#中字符串的处理,对象的引用及继承(Tenth day)
- 数据库中 对原有字段进行字符串追加处理
- MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法
- 数据清洗小记:分类进行字符串转日期(某日期字段存在多类格式处理)
- MYSQL中利用select查询某字段中包含以逗号分隔的字符串的记录方法