我是将空格来分别字段...所以空格多的话又不能老是手动删掉,比如
我是谁 男 136412098,这样空格就占了10多个,从TXT导进数据库的时候就将空格也当成一个字段导入了...
所以我想处理成有多个空格的地方缩成一个空格.
我是谁 男 1361240989.这是我写判断的代码 string m_BaseContent = this.richTextBox1.Text.ToString(); int i = 0;//计量数字
string sql1 = GetIndexOf(sb.ToString());
string SQL = "";
if (m_BaseContent != "")
{
char[] split = "\r\n".ToCharArray();
string[] arrRows = m_BaseContent.Split(split);
string[] arrCells = new string[25];
for (int j = 0; j < arrRows.Length; j++)
{
SQL = "";
i++;
arrCells = arrRows[j].Split(' ');
//if (arrCells.Length != 10)
//{
// msg += "第" + i + "数据不全,应为10列。\n";
// continue;
//}
if (checkname2.Checked)
SQL += ",'" + arrCells[0]+"'"; if (checksex2.Checked)
SQL += ",'" + arrCells[1] + "'"; if (checkmoble2.Checked)
SQL += ",'" + arrCells[2] + "'"; if (checkPhone2.Checked)
SQL += ",'" + arrCells[3] + "'"; if (checkCity2.Checked)
SQL += ",'" + arrCells[4] + "'"; if (checkCardtype2.Checked)
SQL += ",'" + arrCells[5] + "'"; if (checkAddress2.Checked)
SQL += ",'" + arrCells[6] + "'"; if (checkFund2.Checked)
SQL += ",'" + arrCells[7] + "'"; if (checkFund3.Checked)
SQL += ",'" + arrCells[8] + "'"; if (checkCredential2.Checked)
SQL += ",'" + arrCells[9] + "'"; if (checkCredit2.Checked)
SQL += ",'" + arrCells[10] + "'"; if (checkNotes2.Checked)
SQL += ",'" + arrCells[11] + "'"; if (checkResidence2.Checked)
SQL += ",'" + arrCells[12] + "'"; try
{
SQL = " VALUES (" + SQL.Substring(1, SQL.Length - 1) + ") ";
baseAccess.ExecuteNonQuery(sql1 + SQL);
}
catch (Exception ex)
{
msg += ex.Message;
}
private static string GetIndexOf(string sql)
{
int i = sql.IndexOf(',');
if (i < 0)
return sql;
else
return sql.Remove(i, 1);
} private static string GetIndex(string sql)
{
int i = sql.IndexOf("',");
if (i < 0)
{
return sql;
}
else
return sql.Remove(i, 2);
}请帮我改动一下哪里能做成我这样的需求...
我是谁 男 136412098,这样空格就占了10多个,从TXT导进数据库的时候就将空格也当成一个字段导入了...
所以我想处理成有多个空格的地方缩成一个空格.
我是谁 男 1361240989.这是我写判断的代码 string m_BaseContent = this.richTextBox1.Text.ToString(); int i = 0;//计量数字
string sql1 = GetIndexOf(sb.ToString());
string SQL = "";
if (m_BaseContent != "")
{
char[] split = "\r\n".ToCharArray();
string[] arrRows = m_BaseContent.Split(split);
string[] arrCells = new string[25];
for (int j = 0; j < arrRows.Length; j++)
{
SQL = "";
i++;
arrCells = arrRows[j].Split(' ');
//if (arrCells.Length != 10)
//{
// msg += "第" + i + "数据不全,应为10列。\n";
// continue;
//}
if (checkname2.Checked)
SQL += ",'" + arrCells[0]+"'"; if (checksex2.Checked)
SQL += ",'" + arrCells[1] + "'"; if (checkmoble2.Checked)
SQL += ",'" + arrCells[2] + "'"; if (checkPhone2.Checked)
SQL += ",'" + arrCells[3] + "'"; if (checkCity2.Checked)
SQL += ",'" + arrCells[4] + "'"; if (checkCardtype2.Checked)
SQL += ",'" + arrCells[5] + "'"; if (checkAddress2.Checked)
SQL += ",'" + arrCells[6] + "'"; if (checkFund2.Checked)
SQL += ",'" + arrCells[7] + "'"; if (checkFund3.Checked)
SQL += ",'" + arrCells[8] + "'"; if (checkCredential2.Checked)
SQL += ",'" + arrCells[9] + "'"; if (checkCredit2.Checked)
SQL += ",'" + arrCells[10] + "'"; if (checkNotes2.Checked)
SQL += ",'" + arrCells[11] + "'"; if (checkResidence2.Checked)
SQL += ",'" + arrCells[12] + "'"; try
{
SQL = " VALUES (" + SQL.Substring(1, SQL.Length - 1) + ") ";
baseAccess.ExecuteNonQuery(sql1 + SQL);
}
catch (Exception ex)
{
msg += ex.Message;
}
private static string GetIndexOf(string sql)
{
int i = sql.IndexOf(',');
if (i < 0)
return sql;
else
return sql.Remove(i, 1);
} private static string GetIndex(string sql)
{
int i = sql.IndexOf("',");
if (i < 0)
{
return sql;
}
else
return sql.Remove(i, 2);
}请帮我改动一下哪里能做成我这样的需求...
解决方案 »
- winform导出数据时怎么加进度条?或者弹出一个子窗口“正在导出...”+多少+"条记录"!如何实现?
- 初学者提问 这个程序怎么写
- Asp.net 获取指定目录下的后缀名为“.xls” 的所有文件名和以及该文件下所有sheet名的方法
- socket问题
- BindingSource为数据源的Filter问题,谢谢大家帮忙
- combobox如何记录曾经输入过的内容?并且下次输入类似字符的时候能显示出相应的记录?
- ******急急!!vs2005试用版到期 如何更改key文件 3.22G的team版******
- 那位请给解释一下包装,小弟不懂
- 高手進!!如何在不同的Assembly之間訪問類的靜態方法????
- 为什么这么FTP 都可以登陆,不可以列表!!!!!!!!!!!!!!!!!!!
- 怎么在sql表里补上周末时间
- 解释javascript
String str = "ab cd eedd";
String[] arr = str.Split(new Char[]{' '},StringSplitOptions.RemoveEmptyEntries); StringBuilder sb = new StringBuilder();
for (Int32 i = 0; i < arr.Length; i++)
sb.Append(arr[i] + " "); String res = sb.ToString(); Console.WriteLine(res);
string str = "我是谁 男 136412098 23";
Regex re = new Regex(@"\s+");
string ret = re.Replace(str, " ");
string[] arrRows = s.Split(split);
string[] arrCells = new string[30];
for (int j = 0; j < arrRows.Length; j++)
{
SQL = "";
i++;
arrCells = arrRows[j].Split(' ');在arrRows将把有字段都定义为一行了…… 读第二行的时候就从for跳出了……
string s="asd sdf sasdf aa aa s"
s.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);如果中间有多个空格,加上StringSplitOptions.RemoveEmptyEntries这个选项后,会自动帮你把多余的空格去掉。
要\t才行,谢谢,已经可以正确运行了