Работа со строками 1С

Версия для печатиPDF-версия

Платформа:

посчитать количество символов найденых по условию, оператором Если,,, Тогда,,, Иначе,,,,

Сейчас он находит только буквы, а необходимо посчитать количество найденых букв.

А = "АППРРОРДГШЫЕПРМОЛОЛЖДЫАПРВАОРЛДМИТЬТЫЫЕГГДЖЩЗХГШЩ";
    Б = "Ы";
    
    Для Н=1 по СтрДлина(А) Цикл
        Строка=Сред(А,Н,1);
        
        Если Строка = Б  Тогда
             Сообщить("Найдена нужная буква: " +Б);
        Иначе    
         
    КонецЕсли;
        
КонецЦикла;
        
Спасибо!

Если хотите подсчитать количество различных букв в строке, то можно объявить переменную с типом Соответствие и в цикле обхода строки её заполнять. Примерно так:

А = "АППРРОРДГШЫЕПРМОЛОЛЖДЫАПРВАОРЛДМИТЬТЫЫЕГГДЖЩЗХГШЩ";
Б = "Ы";
Буквы = Новый Соответствие;
Для Н = 1 по СтрДлина(А) Цикл
    ТекБуква = Сред(А, Н, 1);
    Если Буквы[ТекБуква] = Неопределено Тогда
        Буквы.Добавить(ТекБуква, 1);
    Иначе    
        Буквы[ТекБуква] =  Буквы[ТекБуква] + 1;   
    КонецЕсли;        
КонецЦикла;

Если хотите посчитать количество вхождений определённой буквы, то можно воспользоваться функцией глобального контекста СтрЧислоВхождений(<Строка>, <ПодстрокаПоиска>). Т.е. обход строки в цикле не нужен. Достаточно одной строки:

ЧислоВхождений = СтрЧислоВхождений(А, Б);

Спасибо!