Строковое значение в 1С Предприятие 8.3
&НаКлиенте
Процедура ВыполнитьКод(Команда)
/// Как найти длину строки в 1с 8.3, 8.2
Сообщить(СтрДлина("123456789")); // 9
/// Как взять часть строки в 1с 8.3, 8.2
// как взять N символов слева
Строка = "Иван Грозный";
Сообщить(Лев(Строка, 4)); // Иван
// как взять N символов справа
Строка = "Иван Грозный";
Сообщить(Прав(Строка, 7)); // Грозный
// как взять строку из середины
Строка = "Мама, папа, я.";
// возьмём начиная с 7 индекса 4 символа
Сообщить(Сред(Строка, 7, 4)); // папа
/// Как найти подстроку в 1с 8.3, 8.2
Строка = "Привет, мир!";
Индекс = Найти(Строка, "Привет"); // 1, строки индексируются с единицы
/// Как узнать число вхождений подстроки в строку в 1с 8.3, 8.2
Сообщить(СтрЧислоВхождений("я, я и ещё раз я.", "я")); // 3
/// Как заменить подстроку в строке в 1с 8.3, 8.2
Сообщить(СтрЗаменить("Идёт сильный дождь.", "дождь", "снег"));
/// Как проверить на пустую строку в 1с 8.3, 8.2
Если ПустаяСтрока(" ") Тогда
Сообщить("Строка пустая, то есть не содержит значащих символов.");
КонецЕсли;
/// Как удалить незначащие символы из строки в 1с 8.3, 8.2
// слева
Сообщить(СокрЛ(" из лесу ёлочку ")); // "из лесу ёлочку "
// справа
Сообщить(СокрП(" из лесу ёлочку ")); // " из лесу ёлочку"
// с двух сторон
Сообщить(СокрЛП(" из лесу ёлочку ")); // "из лесу ёлочку"
/// Как вставить в строку перенос в 1с 8.3, 8.2
Строка =
"Первая строка" + Символы.ПС +
"Вторая строка" + Символы.ПС +
"Третья строка";
/// Как работать с многострочными строками (нумерация с
/// единицы) в 1с 8.3, 8.2
Сообщить(СтрЧислоСтрок(Строка)); // 3
Сообщить(СтрПолучитьСтроку(Строка, 2)); // "Вторая строка"
/// Верхний, нижний и титульный регистры в 1с 8.3, 8.2
Сообщить(ВРег("россия - родина моя!")); // РОССИЯ - РОДИНА МОЯ!
Сообщить(НРег("МИР, ТРУД, МАЙ!")); // мир, труд, май
Сообщить(ТРег("мама мыла раму")); // Мама Мыла Раму
/// Как получить код символа строки в 1с 8.3, 8.2
// код отдельного символа:
// туда
Сообщить(КодСимвола("A")); // 65
// и обратно
Сообщить(Символ(65)); // "A"
// код третьего символа в строке
Сообщить(КодСимвола("ABC", 3)); //67
// код первого символа в строке
КодПервогоСимволаФамилии = КодСимвола("Грозный");
Сообщить(КодПервогоСимволаФамилии); // 1043, потому что Unicode.
/// Как преобразовать строку в число в 1с 8.3, 8.2
Сообщить(Число("125.36")); // 125,36
Сообщить(Число("125,36")); // 125,36
/// Как преобразовать число в строку в 1с 8.3, 8.2
Сообщить(25 + "10"); // 35
// если же нужно сложить число и строку как строки
Сообщить(Строка(25) + "10"); // 2510
/// Как разбить строку с разделителями в 1с 8.3, 8.2
Разделитель = ",";
Строки = СтрЗаменить("январь, февраль, март", Разделитель, Символы.ПС);
Для Индекс = 1 По СтрЧислоСтрок(Строки) Цикл
Сообщить(СтрПолучитьСтроку(Строки, Индекс));
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ВыполнитьКодНаСервере()
/// Как сериализовать значение в строку в 1с 8.3, 8.2
Массив = Новый Массив(3);
Массив[0] = 1;
Массив[1] = "Земля";
Массив[2] = 3.14;
Стр = ЗначениеВСтрокуВнутр(Массив);
Сообщить(Стр);
//{"#",51e7a0d2-530b-11d4-b98a-008048da3034,
// {3,
// {"N",1},
// {"S","Земля"},
// {"N",3.14}
// }
//}
/// Как десериализовать значение из строки в 1с 8.3, 8.2
МассивКопия = ЗначениеИзСтрокиВнутр(Стр);
Элемент = МассивКопия[1];
Сообщить(Элемент); // Земля
КонецПроцедуры