Очевидным решением этой задачи является организация цикла, в котором по одному просматриваются символы исходной строки и к результату добавляются символы, являющиеся цифрами. Но, во-первых, здесь требуется цикл, на организацию которого будет потрачено время, во-вторых, без стринг-билдера посимвольная конкатенация не эффективна. В платформе 8.3.6 появились функции СтрРазделить и СтрСоединить, которые позволяют решить эту задачу в одну строку без цикла:
Автор: ildarovich
СтрСоединить(СтрРазделить(СтрокаСЦифрами, СтрСоединить(СтрРазделить(СтрокаСЦифрами, "0123456789"))))
// Если список ненужных символов известен, например, "(", ")" и "-", то выражение может быть еще короче:
СтрСоединить(СтрРазделить(СтрокаСЦифрами, "()-"))
Орфографическая ошибка в стринг: стринг Орфографическая ошибка в билдера: билдера
УдалитьПользовательскиеПрефиксыИзНомераОбъекта (БСП)
НомерТелефонаКонтактнойИнформации (БСП)
ОбновитьНастройкуДобавочногоНомераТелефона (БСП)
НомерТелефонаВСтарыйСписокПолей (БСП)
#1, 27 июля 2020 11:46
СтрСоединить СтрРазделить СтрСоединить СтрРазделить СтрСоединить СтрРазделить СтрСоединить СтрРазделить
СтрРазделить СтрСоединить СтрРазделить СтрСоединить
#2, 27 июля 2020 12:35
(1) Farovsky, первый СтрРазделить получает все символы "не цифры", потом соединяем, и опять разделяем исходный номер, только уже этими полученными символами. И затем снова соединяем для получения результата.
#3, ред. 27 июля 2020 12:37
Оформил в виде отдельной функции