执行我的C#代码以读取带有ADO的.CSV我在阅读我的行时遇到下一个问题: ,我得到一个包含在字符串中的值并用“\”分隔。像“hi \ goodMorning \ ByeBye”。如何转义''
这里是我的代码:
// Crear el objeto de conexión utilizando la cadena de conexión anterior.
using (OleDbConnection objConn = new OleDbConnection(sConnectionString))
{
// Abrir la conexión con la base de datos.
objConn.Open();
// El código utiliza un comando SQL SELECT para mostrar los datos de la hoja de cálculo.
string sql = "SELECT * FROM " + fileName;
// Crear un nuevo OleDbCommand para devolver los datos de la hoja de cálculo.
using (OleDbCommand objCmdSelect = new OleDbCommand(sql, objConn))
{
// Crear un nuevo OleDbDataAdapter que se usa para generar un DataSet // basado en la instrucción SQL SELECT anterior.
// Pasar el comando Select al adaptador.
//OleDbDataAdapter objAdapter1 = new OleDbDataAdapter(objCmdSelect);
OleDbDataReader reader = objCmdSelect.ExecuteReader();
while (reader.Read())
{
string value= @reader[0].ToString();
我一直在努力,到目前为止做:
A --> string value = reader[0].ToString();
B --> value .Split(Convert.ToChar(92)); //Using ASCII
C --> System.Text.RegularExpressions.Regex.Escape("\\")
D --> value.Contains((char)92); //---> returns false
E --> value.Contains("\\\"); //---> returns false
F --> .Replace doesn't work either
我出出主意!很高兴听到任何建议。我认为如果我可以逃避角色,问题就会解决。到目前为止,我做不到。如果我得到我的答案,我会发布它。
这 - >@"your\string\here".Contains("\\");
- >返回TRUE - 它不
在我的情况的正确答案是:
string [] temp = @"aaa\taaa\taaa".Split('\t');
谢谢大家! :)
value.Contains(“\”)只要其值为(@“\”) – BugFinder
如果“value.Contains(”\\“); --->返回false”,那么您的某个错误你检查的字符串。因为:'@“\ string \ here”.Contains(“\\”); - >返回TRUE'。请从调试器发布屏幕截图,以显示运行时的值 –
ok第一个字母在您的字符串中跳动\是什么?它总是一样吗?是否可以是字符串实际上是** \ t **选项卡或甚至是** \ n **新行分隔?=! –