INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Соседова Снежана Дмитриевна | Разработчик мобильных приложений | 1С-Рарус

«Как улучшить продукт и увеличить выручку в несколько раз (Немного про UX/UI, воронку AARRR и реальном опыте применения статистики в мобильном приложении)»

Поговорим о тиражных приложениях, и не только мобильных, и не обязательно на 1С :) В своем докладе я поделюсь нашим опытом разработки мобильного приложения Boss - как мы принимали решения о развитии приложения, на какие грабли наступали и какие выводы сделали: - "Ошибка выжившего" или почему фидбек от пользователей - это не всегда хорошо. - Сделаем продукт лучше! Добавим новые фичи! Или нет?) - Куда уходят пользователи? И так ли важно количество скачиваний приложения? - Статистика - что собираем, и главное Зачем? - Несколько реальных кейсов из нашего опыта - как мы увеличили выручку, не меняя функциональность приложения.

1. Seraf1no 11.01.17 07:26 Сейчас в теме

Получить нужный кусок текста

Добрый день!
Возник следующий вопрос: есть текст такого формата

Start *число*

Текст1
Текст2
Текст3
Finish

Необходимо выдрать только вот эту часть - Текст1 Текст2 Текст3, при этом *число* всегда разное и перед Текст1 всегда пустая строка.

Пробовал и через "Найти", и парой способов с форума, ничего не получилось.
Найденные решения
10. Seraf1no 11.01.17 10:50 Сейчас в теме
(9) да, извиняюсь. Времени в обрез, вот код:
Счетчик = 1;
			Пока Стр <> Неопределено Цикл
				
				Если Счетчик < 3 Тогда
				Счетчик = Счетчик + 1;
				Стр = Файл.ПрочитатьСтроку();
					Продолжить;
				КонецЕсли;

Показать
Остальные ответы
Сортировка: Древо
2. olgerd666 49 11.01.17 08:50 Сейчас в теме
(1)
Необходимо выдрать только вот эту часть - Текст1 Текст2 Текст3, при этом *число* всегда разное и перед Текст1 всегда пустая строка.

Start *число*

Текст1


а текст1 - всегда третья строка? тогда можно по индексу взять.
3. Seraf1no 11.01.17 08:52 Сейчас в теме
(2) Всегда четвертая, если быть точнее (я там одну строчку выше Старта не указал)
5. olgerd666 49 11.01.17 08:59 Сейчас в теме
(3)
Всегда четвертая, если быть точнее (я там одну строчку выше Старта не указал)

тогда можно по индексу найти
текст - ваш текст, индекс с 3 по интересующую вас строку
СтрТекста=СтрПолучитьСтроку(Текст,Индекс);

Прикрепленные файлы:
6. Seraf1no 11.01.17 09:10 Сейчас в теме
(5) Я обрабатываю много файлов в одной папке и количество строк всегда разное.
7. olgerd666 49 11.01.17 09:42 Сейчас в теме
(6) в (4) приведен рабочий пример же. можете его скопировать и использовать на свое усмотрение. если вм результат не в строку надо а в массив, то просто добавляйте построчно в массив, а не суммируйте
4. spacecraft 11.01.17 08:57 Сейчас в теме
(1) как вариант для 8.2:
ИсходнаяСтрока = "Что-то там
	|еще есть в начале
	|Start 1
	|
	|Текст1 
	|Текст2 
	|Текст3 
	|Finish
	|еще есть
	|в конце";
			
	СтрокаРезультат = "";
	СтрокаНайдена = Ложь;
	Для НомерСтроки = 1 По СтрЧислоСтрок(ИсходнаяСтрока) Цикл
		Если Не СтрокаНайдена Тогда
			Если Найти(СтрПолучитьСтроку(ИсходнаяСтрока,НомерСтроки), "Start") > 0 Тогда
				СтрокаНайдена = Истина;
				НомерСтроки = НомерСтроки + 1;
			КонецЕсли;
			Продолжить;
		КонецЕсли;
		Если (Найти(СтрПолучитьСтроку(ИсходнаяСтрока,НомерСтроки), "Finish") > 0) Тогда
			СтрокаНайдена = Ложь;
			Прервать;
		КонецЕсли;
		СтрокаРезультат = СтрокаРезультат + СтрПолучитьСтроку(ИсходнаяСтрока,НомерСтроки);
	КонецЦикла;		
Показать


Для 8.3 было бы проще и нагляднее.
8. Seraf1no 11.01.17 10:14 Сейчас в теме
Задачу решил самостоятельно, вопрос закрыт
9. spacecraft 11.01.17 10:16 Сейчас в теме
(8) жесть.
В таких случаях обычно приводят свое решение.
10. Seraf1no 11.01.17 10:50 Сейчас в теме
(9) да, извиняюсь. Времени в обрез, вот код:
Счетчик = 1;
			Пока Стр <> Неопределено Цикл
				
				Если Счетчик < 3 Тогда
				Счетчик = Счетчик + 1;
				Стр = Файл.ПрочитатьСтроку();
					Продолжить;
				КонецЕсли;

Показать
11. necropunk 5 11.01.17 11:04 Сейчас в теме
(10) Я ничего не понял в решении. Ну, вы прочитали строку Старт и одну пустую. И?
Неполный код, видимо.
12. Seraf1no 11.01.17 12:24 Сейчас в теме
(11) у меня читает все строки, перед условием идет
стр = файл.ПрочитатьСтроку();
, далее в цикле уже идут не относящиеся к вопросу преобразования строк.
13. necropunk 5 11.01.17 12:33 Сейчас в теме
(12) А, ну так в вашем примере после условия "Если Счетчик < 3" ПрочитатьСтроку() стоит.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Одесса (Украина)
зарплата от 40 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день

Аналитик 1С
Москва
зарплата от 80 000 руб. до 120 000 руб.
Полный день

1С Developer
Одесса (Украина)
зарплата от 60 000 руб. до 120 000 руб.
Полный день

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 70 000 руб. до 90 000 руб.
Полный день