Дословное понимание текста переменной в C#

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
Доброго дня. Паршу данные с сайта и заношу их в таблицу. Иногда в переменную парсится строка с табуляцией и после того как я заношу эту переменную в таблицу то у меня вместо одной ячейки идет в 2 и вся таблица съезжает. Уверен что в С# наверняка есть какой то синтаксис от подобных вещей для переменных! но я его не знаю. Заранее спасибо.
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Доброго дня. Паршу данные с сайта и заношу их в таблицу. Иногда в переменную парсится строка с табуляцией и после того как я заношу эту переменную в таблицу то у меня вместо одной ячейки идет в 2 и вся таблица съезжает. Уверен что в С# наверняка есть какой то синтаксис от подобных вещей для переменных! но я его не знаю. Заранее спасибо.
Для этого даже C# не нужен. Зная формат данных можно парсить сразу только то, что нужно, не цепляя служебных символов.
В крайнем случае - чистить данные перед размещением в конечный файл.
 

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
Для этого даже C# не нужен
Я на нем пишу, кубиками не пользуюсь
Если ты про string или int к примеру то я говорю о string
Если про то как в принципе будут выглядеть данные (с табуляцией или с новой строкой) то могут быть с, а могут и без
чистить данные перед размещением в конечный файл
Именно так и делаю но подумал что есть более изящный метод для этого, вот и спрашиваю (к примеру @ перед строковой переменной по аналогии с присваиванием в строковую перменную)
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113
Возможность писать на C# в ZennoPoster'е - это скорее бонус, чем основной функционал.

Но, тем не менее, если в ваша регулярка тащит лишнее, то, скорее всего проблема в ней.
 

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
Возможность писать на C# в ZennoPoster'е - это скорее бонус, чем основной функционал.

Но, тем не менее, если в ваша регулярка тащит лишнее, то, скорее всего проблема в ней.
Я беру Xpath. Тут дело не в лишнем. Кто то забивал название товара и вместо пробела нажал на Tab. Вроде бы ничего страшного, можно и так спарсить и занести в таблицу но компилятор понимает Tab как забить в две ячейки excel, то что до Tab и следуюущая ячейка после Tab. А мне надо что бы компилятор считывал значение переменной дословно и не разбивал на две ячейки
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
функция trim
 
  • Спасибо
Реакции: zortexx

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
функция trim
Знаю такую, обрезает с каждого края, а у меня табуляция в середине текста
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
  • Спасибо
Реакции: ial1408

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 226
Баллы
113

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
что может быть изящнее базовых функций ? :-)
Можно же сделать в коде так
C#:
string strTest = @"Вот    так должно пойти в 1 ячейку";
string strTest1 = "Вот    так должно пойти в 2 ячейки";

strTest.Add(strTest + strTest.ColSeparator + strTest1);
Я думал что можно примерно и так:
C#:
//Парсим strTest и strTest1 не заморачиваясь есть ли там Tab в середине текста

tblTest.Add(@strTest + tblTest.colSeparator + @strTest1);
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
аааа я понял, так вам надо красивый короткий код... легко.
в общем коде свою функцию определяете. например Clear_for_Tab(string input) , в ней делаете весь некрасивый код, а пользуетесь красиво.
string strTest = Clear_for_Tab(@"Вот так должно пойти в 1 ячейку");

конечно же так лучше ? :-)
 

ial1408

Client
Регистрация
26.07.2016
Сообщения
194
Благодарностей
18
Баллы
18
аааа я понял, так вам надо красивый короткий код... легко.
в общем коде свою функцию определяете. например Clear_for_Tab(string input) , в ней делаете весь некрасивый код, а пользуетесь красиво.
string strTest = Clear_for_Tab(@"Вот так должно пойти в 1 ячейку");

конечно же так лучше ? :-)
Ха ха, не очень.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113
а мне нравиться :-) я так весь поиск по таблицам по имени столбца и строк сделал. очень удобно пользоваться. два вложенных цикла свернуты до одной функции.
вызываются как strTest.GetCell_By_Name("имя столбца", номер строки); и для поиска так же :-)
 
  • Спасибо
Реакции: ial1408

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)