Найти самое длинное слово в строке 1с
В данной статье собраны примеры использования функций для работы со строковыми значениями в 1С, а также типовые задачи по работе со строками.
Содержание
Функции для работы со строками в языке 1С
Значения типа Строка широко применяются в языке 1С. Литералом строкового типа является набор символов, заключенный в двойные кавычки.
Удаление лишних пробелов
Преобразование регистра строки
Можно средствами языка 1С привести строку к нужному регистру – т.е. сделать все буквы заглавными, или строчными, или титульными – когда каждое новое слово пишется с большой буквы, а остальные – маленькими.
Сравнение строк в 1С
Можно программно сравнить, какая из двух строк больше или меньше, либо проверить что строки равны.
Функции для работы с подстроками
Язык 1С позволяет находить в строке нужный текст, искать, сколько раз этот текст встречается в строке, а также заменять найденный фрагмент на другой.
Функции для работы с символами в 1С
Используя методы языка 1С, можно найти часть строки нужной длины, чтобы далее использовать фрагменты строки в алгоритмах. Например, первые 4 символа ИНН – это код налогового органа, 5 и 6 символы – код причины постановки на учет, а последний символ – контрольный разряд. Эти фрагменты называются подстроками.
Работа с многострочной строкой в 1С
Получение строк из других типов значений
При работе с большими текстовыми данными часто возникает необходимость построчного анализа и разбора. В языке 1С предусмотрены методы для работы с многострочными строками – например, можно подсчитать число строк, или получить нужную строку по номеру, или преобразовать обычную строку в многострочную.
Часто встречающиеся задачи при работе со строками
Как объединить несколько строк в одну в 1С?
Как подставить параметры в строку? Использование СтрШаблон
Как в 1С вставить кавычки в строку?
Как проверить, что строка не заполнена? Проверка на пустую строку
Превратить строку с разделителями в массив в 1С
Для более удобной работы со строками, может понадобиться разбить строку на массив подстрок по какому-нибудь разделителю – запятой, точке с запятой, или другому набору символов. При этом можно игнорировать пустые строки, либо оставлять их в составе массива.
Перечислить значения массива в виде строки в 1С
Такая задача часто возникает, когда в печатной форме, в отчете или на экране необходимо вывести значения, например через запятую. Можно перебрать все элементы и добавить запятую при помощи конкатенации строк, но в этом случае нужно анализировать, не является ли символ последним, чтобы не добавить лишнюю запятую.
Но есть способ проще – использование метода СтрСоединить. При этом после последнего элемента разделитель не добавляется. Также, обратите внимание, что в качестве разделителя может выступать любое строковое значение – запятая с пробелом, или слово, или целая фраза.
Задача:
Дана строка символов. Признак конца строки — символ перехода на новую строку. Строка состоит из слов, которые отделены друг от друга пробелами. Вывести самое длинное слово и его порядковый номер.
Как вывести порядковый номер длинного слова в тексте?
Вот код вывода длинного слова:
Вывести самое длинное слово и его порядковый номер в исходной строке
Здраствуйте,мне нужно вывести самое длинное слово и его порядковый номер в исходной строке.Спасибо
Найти самое длинное слово и его порядковый номер в строке
Найти самое длинное слово и его порядочный номер в строке. Консольное.. что-то намудрил.
Найти самое длинное слово и его порядковый номер в строке
Найти самое длинное слово и его порядковый номер в строке. (В коде максимальный элемент, без.
Самое длинное слово и его порядковый номер
Пользователь вводит строку. Вывести самое длинное слово и его порядковый номер.Условие: Строка.
Найти самое длинное слово в предложении и указать его порядковый номер.
Найти самое длинное слово в предложении и указать его порядковый номер. Если в предложении.
Ну добавь в таблицу ещё 1 колонку порядок..и в нее пиши твой порядок.
А когда сортируешь по убыванию,то в колонке порядок и будет твой порядковый номер как ты добавлял его.
Найти в строке самое длинное слово, вывести это слово и его длину
Дана строка, содержащая пробелы. Найдите в ней самое длинное слово, выведите это слово и его длину.
В заданной строке найти самое длинное слово и вывести это слово и его длину
В заданной строке найти самое длинное слово и вывести это слово и его длину
Найти самое длинное слово в строке и вывести его
Задание в чем нужно используя из циклов только while , написать такую штуку: спросить у человека.
Вывести самое длинное слово в строке и его длину
Напишите пожалуйста программу!СПАСИБО! Задана строка символов. Группы символов, разделенные.
Вывести самое длинное слово в строке и его длину
Задана строка символов.Группы символов, разделенные пробелом и не содержащие пробелов внутри себя.
Вводиться строка слов разделенных пробелами. Найти самое длинное слово и вывести его на экран. Случай когда самых длинных слов может быть несколько не обрабатывать.
1 С 8.3.
Вводится строка слов, разделенных пробелами. Найти самое длинное слово и вывести его на экран
Вводится строка слов, разделенных пробелами. Найти самое длинное слово и вывести его на экран.
Дан текст из слов, разделенных пробелами. Определить, где расположено самое длинное слово фразы
Дан текст из слов, разделенных пробелами. Определить, где расположено самое длинное слово фразы: в.
Дан текст из слов, разделенных пробелами. Найти самое длинное слова фразы и проверить, можно ли из букв этого слов
Помогите написать программу: Дан текст из слов, разделенных пробелами. Найти самое длинное слова.
Дана строка, состоящая из слов, разделенных пробелом. Определить и выписать самое длинное слово
Дана строка, состоящая из слов, разделенных пробелом. Определить и выписать самое длинное слово.
snickers123, Здесь не благотворительная организация. Либо нанимай программиста, либо (и умнее) Покажи что сам сделал, что не получилось и какие выпадают ошибки. Т.е. консультацию по своему коду дадут точно, делать за тебя. ну разве что абсолютно простейшее кто-то и сделает, и то вряд ли
Найти в файле самое длинное слово и вывести его на экран
2. Найти в файле самое длинное слово и вывести его на экран. Помогите плиз решить!
9. В предложении, введенном с клавиатуры, найти самое длинное слово и вывести его на экран
В предложении, введенном с клавиатуры, найти самое длинное слово и вывести его на экран. Оформить.
Найти в файле самое длинное слово и вывести его на экран и в новый файл
Помогите если не сложно) Дан текстовый файл. Найти в нём самое длинное слово и вывести его на.
Вводится строка слов, разделенных пробелами
Вводится строка слов, разделенных пробелами. Найти самое длинное слово и вывести его на экран.
Войдите как ученик, чтобы получить доступ к материалам школы
Упражнения по внутреннему языку программирования 1С 8.3: палиндром и обработка текста
Автор упражнений и преподаватель школы: Владимир Милькин
Упражнение №7б. Пользователь вводит слово. Программа должна проверить является ли слово палиндромом и вывести результат.
О том, что такое палиндром читайте здесь.
Проще говоря, палиндром - это слово перевёртыш.
Примеры: шалаш, казак, потоп.
Ввести строку от пользователя можно так:
О том как работать со строками в языке 1С 8 читайте здесь.
Вы читаете ознакомительную версию урока, полноценные уроки находятся здесь.
Изначально предположим, что слово палиндром.
Сравним первую букву в слове с последней. Если не равны - слово не палиндром.
Далее сравним вторую букву с предпоследней. Если не равны - слово не палиндром.
Далее сравним третью букву с пред предпоследней . и так далее, пока не дойдём до середины слова. Если до середины дошли и все буквы при сравнении совпадали - перед нами палиндром.
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Войдите на сайт как ученик
Упражнение №8. Пользователь вводит текст. Нужно посчитать и вывести: количество слов, количество пробелов, количество знаков препинания.
Пример: "Доброе утро, страна!"
Результат: 3 слова, 2 пробела и 2 знака препинания.
Вводим от пользователя строку с текстом. Бежим по каждому символу этой строки. Если символ является буквой, то мы внутри какого-то слова (запомним это). Если же символ является пробелом или знаком препинания (а перед этим были на букве), то слово закончилось.
При переходе от одного слова к другому увеличиваем счётчик слов. Если встретили пробел, то увеличиваем счётчик пробелов. Если встретили знак препинания, то увеличиваем счётчик знаков препинания.
В конце выводим пользователю результаты подсчётов.
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Войдите на сайт как ученик
Упражнение №9. Пользователь вводит текст. Нужно построить и вывести словарь текста в отсортированном по длине слов виде - от самого короткого до самого длинного.
Пример: "Мой дядя самых честных правил, когда не в шутку занемог".
Словарь:
в
не
мой
дядя
самых
когда
шутку
правил
честных
занемог
Введём текст от пользователя. По уже известному нам из предыдущего упражнения алгоритму разобьём текст на отдельные слова и сложим их в массив.
Упорядочим массив (используя известный нам метод пузырька) по возрастанию длины слова и выведем слова пользователю.
Эталонное решение. Сначала пишем код сами, проверяем на компьютере (как и все примеры программ из уроков), только потом сверяемся
Войдите на сайт как ученик
Для учеников
Второй модуль - самый сложный в школе. Если вы не программировали ранее - приготовьтесь к тому, что не сможете решить некоторые из задач с первого раза и без подсказок.
Поэтому вовремя останавливайтесь и спрашивайте преподавателя, если что-то не понятно даже с подсказками.
В крайнем случае, пройдите все оставшиеся модули школы, а затем вернитесь с новыми силами к решению задач второго модуля.
На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .
Строка в 1С 8.3 - это значение примитивного типа в виде набора символов (в формате Unicode) произвольной длины. Н умерация символов в строках начинается с единицы. Для строки не доступен обход её символов оператором Для. Каждого . Из . Цикл. Строковые переменные являются набором символов которые заключаются в одинарные кавычки "".
✔ Получение длины строки
&НаКлиенте
Процедура ПолучениеДлиныСтроки ( Команда )
Длина_Строки_Число = СтрДлина ( "АБВГД" ); // 5 (символов)
&НаКлиенте
Процедура ПолучениеЧастиСтроки ( Команда )
ВычисляемаяСтрока = "1С Предприятие 8.3" ;
// N символов слева
Первые_два_символа = Лев ( ВычисляемаяСтрока , 2 ); // 1С
// N символов справа
Последние_три_символа = Прав ( ВычисляемаяСтрока , 3 ); // 8.3
// N символов из середины (с 4-го символа получим 11 символов)
Средние_символы = Сред ( ВычисляемаяСтрока , 4 , 11 ); // Предприятие
&НаКлиенте
Процедура ПолучениеЧислаВхожденийТекстаВСтроку ( Команда )
ВычисляемаяСтрока = "Между нами провода да да да да да. И ты сказала да да да." ;
Количество_вхождений = СтрЧислоВхождений ( ВычисляемаяСтрока , "да" ); // 8
&НаКлиенте
Процедура ПолучениеКодаСимвола ( Команда )
Код_из_символа = КодСимвола ( "C" ); // 67 (Латиница)
Код_первого_символа_в_строке = КодСимвола ( "Артур" ); // 1040 (Кирилица)
Код_пятого_символа_в_строке = КодСимвола ( "ABCDEFG" , 5 ); //69 (Латиница)
Символ_из_кода = Символ ( 67 ); // "A" (Латиница)
&НаКлиенте
Процедура ПреобразованиеВРегистр ( Команда )
//Регистры (верхний, нижний, титульный)
ВычисляемаяСтрока = "У лукоморья Дуб зелёный" ;
Преобразование_в_Верх_регистр = ВРег ( ВычисляемаяСтрока ); // У ЛУКОМОРЬЯ ДУБ ЗЕЛЁНЫЙ
Преобразование_в_Нижн_регистр = НРег ( ВычисляемаяСтрока ); // у лукоморья дуб зелёный
Преобразование_в_Титл_регистр = ТРег ( ВычисляемаяСтрока ); // У Лукоморья Дуб Зелёный
&НаКлиенте
Процедура ПреобразованиеСтрокиВЧисло ( Команда )
фЧисло = Число ( "987.65" ); // 987,65
фЧисло = Число ( "987,65" ); // 987,65
фЧисло = 100 + "24" ; // 124
//Для сложения числа и строки для получения строки:
фСтрока = Строка ( 100 ) + "24" ; // "10024"
&НаКлиенте
Процедура ПоискТекстаВСтроке ( Команда )
ВычисляемаяСтрока = "1С Предприятие 8.3" ;
ТекущийИндекс = Найти ( ВычисляемаяСтрока , "1С" ); // 1
&НаКлиенте
Процедура ПроверкаНаПустуюСтроку ( Команда )
ВычисляемаяСтрока = " " ;
Если ПустаяСтрока ( ВычисляемаяСтрока ) Тогда
// Т.е. может содержать только незначащие символы (например: Пробелы или Переносы)
Сообщить ( "Эта строка пустая!" );
КонецЕсли;
Проверка начала и конца строки: СтрНачинаетсяС, СтрЗаканчиваетсяНа (доступно с платформы 8.3.6.1977) в 1С 8.3:
&НаКлиенте
Процедура ПроверкаНачалаИКонцаСтроки ( Команда )
// СтрНачинаетсяС - это проверка начала строки - со слова "Как"
РезультатПроверки = СтрНачинаетсяС ( "Как хорошо жить" , "Как" ); // Истина
// СтрЗаканчиваетсяНа - это проверка конца строки: на слово "хорошо"
РезультатПроверки = СтрЗаканчиваетсяНа ( "Как хорошо жить" , "хорошо" ); // Ложь
&НаКлиенте
Процедура ПереводСтрокиНаРазныеЯзыки ( Команда )
РезультатПеревода = НСтр ( "ru = 'Как дела?'; en = 'How are you?'" ); // зависит от установленного языка
&НаКлиенте
Процедура МногострочнаяСтрока ( Команда )
//Вставка переноса в строку
ВычисляемаяСтрока =
"Оплата по договору №1" + Символы . ПС + //1-я строка
"Контрагент ""Новая жизнь""" + Символы . ПС + //2-я строка (если нужно использовать " в строке то, используются двойные кавычки "")
"Сумма 1000 руб. с НДС 20%" ; //3-я строка
Результат_число_строк = СтрЧислоСтрок ( ВычисляемаяСтрока ); // 3(строки)
Результат_2_строка = СтрПолучитьСтроку ( ВычисляемаяСтрока , 2 )); // "Контрагент ""Новая жизнь"""
&НаКлиенте
Процедура РазбиениеСтрокиСРазделителями1 ( Команда ) //Пример №1
Разделитель = ";" ;
СтрокиСРазделителем = СтрЗаменить ( "2020; 2021; 2022" , Разделитель , Символы . ПС );
Для А = 1 По СтрЧислоСтрок ( СтрокиСРазделителем ) Цикл
Сообщить ( СтрПолучитьСтроку ( СтрокиСРазделителем , А ));
КонецЦикла;
&НаКлиенте
Процедура РазбиениеСтрокиСРазделителями2 ( Команда ) //Пример №2 (доступно с платформы 8.3.6.1977)
// Параметры СтрРазделить: Строка, Разделитель(символы), Булево (по умолчанию - Истина - включать в результат пустые строки)
РезультатМассив = СтрРазделить ( "2020; 2021; 2022" , ";" ); // Массив с элементами [0] = "2020", [1] = "2021 ", [2] = "2022"
// Существует обратная функция СтрСоединить, которая наоборот преобразует массив к строке.
РезультатСтрока = СтрСоединить ( РезультатМассив , ";" ); // Строка "2020; 2021; 2022"
Читайте также: