Имя: Пароль:
1C
 
Поиск в тексте
Ø
0 SergeyN
 
04.10.05
08:05
Как найти кавычки в тексте?
При перносе информации через текстовый файл с разделителями каждая пара кавычек является одним элементом. А если в переносимой текстовой информации есть дополнительные кавычки, то элементов в строке становится гораздо больше чем надо.
1 Морозов Александр
 
04.10.05
08:17
Пример строки то хоть покажи
2 SergeyN
 
04.10.05
08:24
"Кресло","2","200.35","Фирма "МебельПлюс""
Так вот нужно найти восьмую и девятую кавычку и заменить на () скобки
3 Glide
 
04.10.05
08:26
(0) выбери другой разделитель - хотя бы РазделительСтрок.
Или у тебя строки и с табуляцией встречаются?
Вообще для переноса через текстовый файл в качестве разделителя выбирается неиспользуемый символ или производится подмена этого символа в исходных данных
4 Sasha
 
04.10.05
08:28
А как у тебя формируется эта строка?
5 lalex23
 
04.10.05
08:32
(3) ну или при выгрузке меняй "" на что нибудь типа | и при загрузке меняй взад, если уж сильно нравится пользовать "" как разделитель, хотя в таких случаях я при выгрузке на всякий случай преобразовываю строку, что б разделитель не попался случайно
6 Glide
 
04.10.05
08:32
(2) Если файл входящий от других, то вырезай данные в два шага:
1. Обрезать первый и последний символ строки
2. РазделительДанных=CHR(0022)+","+CHR(0022) или как там кавычки называются
7 SergeyN
 
04.10.05
08:34
Сначала я формирую текстовый файл (см. пример), а затем из этого файла беру строки и используя \\ИзСтрокиСРазделителями(<Строка>)\\ разбиваю на элементы. А лишние кавычки мешают.
Вопрос такой: можно или нельзя найти кавычки в текстовой строке средствами 1С.
8 lalex23
 
04.10.05
08:36
(7)для тех кто в танке -
когда выгружаешь:
стрзаменить(выгружаемаястрока,"""","|")
когда загружаешь
стрзаменить(выгружаемаястрока,"|","""")
9 SergeyN
 
04.10.05
08:44
Сам ты в танке...
Туда, сюда - она мне строку и повторит. Мне надо убрать только 8 и 9 кавычку (см. пример)
10 SergeyN
 
04.10.05
08:47
Возвращаясь к 6 посту. какой код у кавычек?
11 SergeyN
 
04.10.05
08:49
+9 Убрать надо при создании текстового файла.
12 lalex23
 
04.10.05
08:51
млин...
перед тем как запихивать в список свои строки преобразовывай строки и в файле НЕ будет левых "" после того как достанешь ИзСтрокиСРазделителями ты ж пробежишь по списку, доставая строки - вот тогда и форматируешь их в первозданный вид - или я в танке. или я цели не понял...
13 SergeyN
 
04.10.05
08:55
Видимо цели не понял.
14 lalex23
 
04.10.05
08:55
или покажи куски кода выгрузки/загрузки
15 SergeyN
 
04.10.05
09:08
Нашел!!!
//Стр - текстовая строка
Стр = СтрЗаменить(Стр,Симв(34)+","+Симв(34),"ёё"); // Заменяем "," на нечто
Стр = СтрЗаменить(Стр,Симв(34),"\"); //Заменяем оставшиеся кавычки на \
Стр = СтрЗаменить(Стр,"ёё",Симв(34)+","+Симв(34)); //Заменяем нечто на ","
Стр = Симв(34) + Сред(Стр,2); //Заменяем первый символ на кавычки
Стр = Лев(Стр,СтрДлина(СокрЛП(Стр))-1) +Симв(34) ; // и последний тоже
Сообщить(Стр);
Всем спасибо!
16 lalex23
 
04.10.05
09:18
что это было...???
ну куда то в нужном направлении...
17 Чеширский
 
04.10.05
09:23
СпСтроки=глРазложить(СтрокаСКавычками,"""");
Результ="";
Для й=1 по СпСтроки.РазмерСписка() Цикл
  Если (й=8)ИЛИ(й=9) тогда
     Результ=СпСтроки.ПолучитьЗначение(й)+"(";//ну или что там у тебя
  Иначе
      Результ=СпСтроки.ПолучитьЗначение(й)+"""";
  КонецЕСли;
18 SergeyN
 
04.10.05
09:59
17 не есть "Good"
Это в конкретном примере они 8 и 9, а могут быть где угодно.
15 бест форева - работает "проверено на себе".
19 SergeyN
 
04.10.05
10:02
Если кто не понял Симв(34) - это символ " кавычки (код 34)
ёё - сочетание символов, которое в реальной жизни практически не встречается.
20 zzz
 
04.10.05
10:06
2(19) ОднаКавычка = """";