如何忽略文本文件中的双引号
How to ignore double quote in textfile
这是我从文本文件中获取到 mysql 数据库的内容
我希望它是
Product_Name Product_Price QTY
Pepsi 30 64
Coke 35 24
Sandwich 60 14
这是代码。
try
{
var files = from file in Directory.EnumerateFiles(@"C:\Users\K\Desktop\New folder", "*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(file)
select new
{
File = file,
Line = line
};
foreach (var f in files)
{
Console.WriteLine("{0}\t{1}", f.File, f.Line);
using (StreamReader sr = new StreamReader(f.File))
{
foreach (string line in File.ReadAllLines(f.File).SkipWhile(x => !x.Contains("[Start]")))
{
string readLine;
do
{
readLine = sr.ReadLine();
string[] readLineSplit = readLine.Split('|');
if(readLineSplit.Length > 1)
{
using (MySqlConnection con = new MySqlConnection(@"server=localhost;database=test;uid=root;pwd=pw;"))
{
con.Open();
MySqlCommand cmd = new MySqlCommand("INSERT INTO Products(Product_Name, Product_Price, QTY) VALUES (@Product_Name, @Product_Price, @QTY)", con);
cmd.Parameters.AddWithValue("@Product_Name", readLineSplit[0].ToString());
cmd.Parameters.AddWithValue("@Product_Price", readLineSplit[1].ToString());
cmd.Parameters.AddWithValue("@QTY", readLineSplit[2]);
cmd.ExecuteNonQuery();
}
}
} while (!sr.EndOfStream);
}
问题 2:我的路径中有两个文本文件,知道为什么只有一个文本文件插入到我的数据库中吗?
对于问题1,去掉引号,把不需要的ToString()
换成Trim('\"')
:
//readLineSplit[0].ToString()
readLineSplit[0].Trim('\"')
我不知道你的文件内容是怎样的,但是你不能把"符号替换成Replace吗?
readLineSplit[0].ToString().Replace("\"", "");
这是我从文本文件中获取到 mysql 数据库的内容
我希望它是
Product_Name Product_Price QTY
Pepsi 30 64
Coke 35 24
Sandwich 60 14
这是代码。
try
{
var files = from file in Directory.EnumerateFiles(@"C:\Users\K\Desktop\New folder", "*.txt", SearchOption.AllDirectories)
from line in File.ReadLines(file)
select new
{
File = file,
Line = line
};
foreach (var f in files)
{
Console.WriteLine("{0}\t{1}", f.File, f.Line);
using (StreamReader sr = new StreamReader(f.File))
{
foreach (string line in File.ReadAllLines(f.File).SkipWhile(x => !x.Contains("[Start]")))
{
string readLine;
do
{
readLine = sr.ReadLine();
string[] readLineSplit = readLine.Split('|');
if(readLineSplit.Length > 1)
{
using (MySqlConnection con = new MySqlConnection(@"server=localhost;database=test;uid=root;pwd=pw;"))
{
con.Open();
MySqlCommand cmd = new MySqlCommand("INSERT INTO Products(Product_Name, Product_Price, QTY) VALUES (@Product_Name, @Product_Price, @QTY)", con);
cmd.Parameters.AddWithValue("@Product_Name", readLineSplit[0].ToString());
cmd.Parameters.AddWithValue("@Product_Price", readLineSplit[1].ToString());
cmd.Parameters.AddWithValue("@QTY", readLineSplit[2]);
cmd.ExecuteNonQuery();
}
}
} while (!sr.EndOfStream);
}
问题 2:我的路径中有两个文本文件,知道为什么只有一个文本文件插入到我的数据库中吗?
对于问题1,去掉引号,把不需要的ToString()
换成Trim('\"')
:
//readLineSplit[0].ToString()
readLineSplit[0].Trim('\"')
我不知道你的文件内容是怎样的,但是你不能把"符号替换成Replace吗?
readLineSplit[0].ToString().Replace("\"", "");