Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Расделить строку на несколько строк / 6 сообщений из 6, страница 1 из 1
17.03.2009, 19:38
    #35875165
kharkov_max
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расделить строку на несколько строк
Подскажите как можно одну строку разбить на несколько ?

Разделитель можно любой использовать...
...
Рейтинг: 0 / 0
17.03.2009, 19:56
    #35875198
Господин ПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расделить строку на несколько строк
СтрЗаменить("бла;бла", ";", Символы.ПС);

потом покурить СтрПолучитьСтроку и т.п.
...
Рейтинг: 0 / 0
19.03.2009, 15:28
    #35879542
Enot5467
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расделить строку на несколько строк
Вот еще вариант:
// Цикл, пок хоть что-то можно обрабатывать
Пока СтрДлина(ОбрабатываемыйТекст)>0 Цикл
// Выделение очередной подстроки
НайденныйРазд = Найти(ОбрабатываемыйТекст, СимволРазделитель);
ОчереднаяСтрока = Лев(ОбрабатываемыйТекст, НайденныйРазд);
// Обработка очередной подстроки
...
// Удаление обработанного
ВрЗначение = СтрДлина(ОбрабатываемыйТекст)-НайденныйРазд;
ОбрабатываемыйТекст = Прав(ОбрабатываемыйТекст, ВрЗначение);
КонецЦикла;


Кажется так
...
Рейтинг: 0 / 0
19.03.2009, 16:01
    #35879639
Masygreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расделить строку на несколько строк
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
//Разбор строки СтрокаКоторуюРазобрать - разделена точками
  лСтрока = СтрЗаменить(СтрокаКоторуюРазобрать, ".", Символы.ПС);
  Для Счетчик =  1  По СтрЧислоСтрок(лСтрока) Цикл 
	  Если Счетчик =  1  Тогда Часть1 = СтрПолучитьСтроку(лСтрока, Счетчик) конецЕсли;
  	  Если Счетчик =  2  Тогда Часть2 = СтрПолучитьСтроку(лСтрока, Счетчик) конецЕсли;
  	  Если Счетчик =  3  Тогда Часть3 = СтрПолучитьСтроку(лСтрока, Счетчик) конецЕсли;
  	  Если Счетчик =  4  Тогда Часть4 = СтрПолучитьСтроку(лСтрока, Счетчик) конецЕсли;
  	  Если Счетчик =  5  Тогда Часть5 = СтрПолучитьСтроку(лСтрока, Счетчик) конецЕсли;
  КонецЦикла;
  //Разбор строки для кодов
или в массив
...
Рейтинг: 0 / 0
30.03.2009, 23:56
    #35901752
badboychik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расделить строку на несколько строк
я сделал рекурсией
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Функция Разбить(Стр,Разд)
    Если Найти(Стр,Разд)= 0  тогда
        м = новый Массив();
        м.Добавить(Стр);
	    Возврат М;
    Иначе
        Поз = Найти(Стр,Разд);
        Подстр = Лев(Стр,Поз- 1 );
        Стр = Прав(Стр,СтрДлина(Стр)-Поз);
        м = Разбить(Стр,Разд);
        М.Добавить(Подстр);
		Возврат М;
    КонецЕсли;
КонецФункции

Процедура КнопкаВыполнитьНажатие(Кнопка)
	А = Разбить("мама мыла раму"," ");
	Для Б= 0  по А.Количество()- 1  цикл
		Номер = А.Количество()-Б- 1 ;
		А.Добавить(А[Номер]);
		А.Удалить(Номер);		
	КонецЦикла;
	Для каждого Б из А цикл 
		Сообщить(Б);
	КонецЦикла;
КонецПроцедуры
Во как... Минус в том, что строки выходят в обратном порядке, надо массив разворачивать :(
...
Рейтинг: 0 / 0
31.03.2009, 07:49
    #35901934
Moriarti
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Расделить строку на несколько строк
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Функция РазобратьСтроку(Строка, СтрокаРазделитель) экспорт
    НоваяСтрока = СтрЗаменить(Строка,СтрокаРазделитель, Символы.ПС);
    МассивСтрок = новый Массив();
    Для i =  1  По СтрЧислоСтрок(НоваяСтрока) Цикл
        МассивСтрок.Добавить(СтрПолучитьСтроку(НоваяСтрока, i));
    КонецЦикла;
    возврат МассивСтрок;
конецФункции

Стр = "1;Пр;1000"
ДокументМассив = РазобратьСтроку(Стр, ";");
НомерДокумента = Число(ДокументМассив[ 0 ]);
Префикс = ДокументМассив[ 1 ];
Сумма = Число(ДокументМассив[ 2 ]);
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Расделить строку на несколько строк / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]