0

Как привести ФИО к формату «Фамилия Имя Отчество»?

Чтобы привести ФИО сотрудника или клиента к формату «Фамилия Имя Отчество», где первый символ выводится в верхнем регистре, а остальные — в нижнем, можно воспользоваться функцией ТРег(), которая преобразует все слова к титульному регистру. Например, так:

ИсходнаяСтрока = "иванов иван иванович";
Сообщить(ТРег(ИсходнаяСтрока));
//Иванов Иван Иванович

Однако, если вы работаете с версией 1С:Предприятие 8.2 или ниже, вам потребуется самостоятельно разработать функцию форматирования. Эта функция должна разбить исходную строку на отдельные слова, а затем собрать заново, преобразуя первую букву каждого слова к верхнему регистру, а оставшуюся часть — к нижнему. Ниже приведен пример такой функции:

Функция ФорматФИО(ЗНАЧ ИсхСтрока)

	Перем мФИО;
	Перем Разделитель, позРазделителя;
	
	мФИО = Новый Массив;
	//разобъем строку на слова по разделителю 
	Разделитель = " ";
	позРазделителя = Найти(ИсхСтрока, Разделитель);
	Пока позРазделителя > 0 Цикл
		мФИО.Добавить(Лев(ИсхСтрока, позРазделителя - 1));
		ИсхСтрока = Сред(ИсхСтрока, позРазделителя + 1);
		позРазделителя = Найти(ИсхСтрока, Разделитель);
	КонецЦикла;
	//добавим в массив оставшуюся строку
	мФИО.Добавить(ИсхСтрока);
	
	//теперь преобразуем все слова к титульному регистру
	ИсхСтрока = "";
	Для каждого Слово Из мФИО Цикл
		ИсхСтрока = ИсхСтрока + ?(ПустаяСтрока(ИсхСтрока), "", " ");
		ИсхСтрока = ИсхСтрока + ВРег(Лев(Слово, 1)) + НРег(Сред(Слово, 2))
	КонецЦикла;
	
	Возврат ИсхСтрока;

КонецФункции // ФорматФИО()

ИсходнаяСтрока = "иванов иван иванович"; 
Сообщить(ФорматФИО(ИсходнаяСтрока));
//Иванов Иван Иванович

Читайте также:

  1. Функция Лев()
  2. Функция Сред()
  3. Функция ТРег()

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *