Вход | Регистрация


1С:Предприятие ::

Метки: 

Оставить только буквы и цифры

Я
   dft2014
 
21.12.17 - 13:42
Подскажите, есть ли какая-нибудь функция, которая убирала бы все знаки (такие как, например . / - и т.д.), а оставляла только буквы и цифры.
 
  Рекламное место пустует
   nordbox
 
1 - 21.12.17 - 13:47
существует- руки
а в место знаков что?
тебе вообще это зачем?
что ты там такое хочешь сделать?
   Aleksey
 
2 - 21.12.17 - 13:48
я в 7-ке по сканкоду убирал
   Mankubus
 
3 - 21.12.17 - 13:50
(0) есть функция СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке.
Переделай ее на буквы
   dft2014
 
4 - 21.12.17 - 13:52
(1) Вместо таких знаков - ничего не должно быть, даже пробелов.
   АЛьФ
 
5 - 21.12.17 - 13:53
Алфавит                = "0123456789АБВГДЕЁЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ";
    
    ПодготовленнаяСтрока = "";
    Для инд = 1 По СтрДлина(Назначение) Цикл
        текСимвол = Сред(Врег(Назначение), инд, 1);
        Если Найти(Алфавит, текСимвол) = 0 Тогда
            Продолжить;
        КонецЕсли;
        ПодготовленнаяСтрока = ПодготовленнаяСтрока + текСимвол;
    КонецЦикла;
   Aleksey
 
6 - 21.12.17 - 13:53
(4) И что? Если символ не попадает в диапозон, то неереносим его в приемник
   dft2014
 
7 - 21.12.17 - 13:55
(6) Лучше наверное опираться не на диапазон исключений. А если это не буква и не цифра, то уничтожать ее.
   dft2014
 
8 - 21.12.17 - 13:55
(5) Здесь проверка на буквы, а у меня еще цифры.
   АЛьФ
 
9 - 21.12.17 - 13:57
2(8) Здесь проверка на любые допустимые символы.
   Lexey_
 
10 - 21.12.17 - 14:02
(0) какая задача? проверить имя файла?
 
  Рекламное место пустует
   singlych
 
11 - 21.12.17 - 14:10
(9) Там нет "Й". Не подходит.
   dft2014
 
12 - 21.12.17 - 14:13
(10) Есть Excel-файл, у которого заголовки колонок написаны с использованием символов, типа ". / -" и т.п. При загрузке этого файла таблицу значений, названия колонок таблицы значений делаю такими же, как и в файле. Но из-за таких вот символов, ТЗ не создается.
   dft2014
 
13 - 21.12.17 - 14:14
(9) Точно, не увидела! Сейчас попробую...
   singlych
 
14 - 21.12.17 - 14:23
(12) Делай имя вида Колонка1, а в заголовок пиши как есть.
   Maniac
 
15 - 21.12.17 - 14:24
Есть
   DES
 
16 - 21.12.17 - 14:27
А еще можно убивать ненужные символы, например (как вариант? )

Стр = СокрЛП(Стр);
Пока СтрНайти(Стр," ")>0 Цикл; Стр = СтрЗаменить(Стр," ", ""); КонецЦикла
Стр = СтрЗаменить(Стр,".","");
Стр = СтрЗаменить(Стр,"/","");
Стр = СтрЗаменить(Стр,"\","");
Стр = СтрЗаменить(Стр,"|","");
Стр = СтрЗаменить(Стр,"#","");

 и т.д.
   Maniac
 
17 - 21.12.17 - 14:27
Вот тут наиболее полный алгоритм и буквы и цифры. можно комбинировать и прочее.

Вычисляет только слова которые одновременно содержат и то и другое

https://subsystems.ru/forum/50/topic799/
   Maniac
 
18 - 21.12.17 - 14:29
в (17) идет вычисление, присутствия англ букв и цифр (строка где есть и русский алфавит заккоментирована)

Может применятся для поисков артикулов в наименованиях
   Адинэснег
 
19 - 21.12.17 - 14:29
(8) колонка ТЗ с именем "1", "2Колонка", "3 квартал" у тебя не создастся... делай колонки как в 14 и храни соответствие заголовков, например
   Timon1405
 
20 - 21.12.17 - 14:31
(18) в (17) используются функции глРазложитьСтрокуВМассивПодстрок,ПеревестиВРег описание которых в посте отсутствует. значит в (17) нерабочий код
   Адинэснег
 
21 - 21.12.17 - 14:32
ну или после функции приведения к алфавиту добавляй нецифровой символ вперед, типа "_"
   Maniac
 
22 - 21.12.17 - 14:32
(20) есть в глобальных модулях типовых. Ок опубликую тоже
   Ненавижу 1С
 
23 - 21.12.17 - 14:33
(17) есть греческие, армянские, грузинские? если нет - свободен
   Maniac
 
24 - 21.12.17 - 14:34
У меня просто задача тут намного глубже чем в (0)

В (0) он пишет как убрать символы.
А у меня описан пример когда есть длинное наименование, в котором есть куча слов.

И нужно оставить только слова которые имеют англ буквы и цифры в одном слове одновременно. а все остальные слова убрать полностью.
   Maniac
 
25 - 21.12.17 - 14:35
(23) замени строку вверху и получишь что хочешь.
   Timon1405
 
26 - 21.12.17 - 14:40
RegExp = Новый COMОбъект("VBScript.RegExp");
RegExp.IgnoreCase = Истина;
RegExp.Global = Истина;
RegExp.MultiLine = Ложь;
RegExp.Pattern = "(\W+)";
СтрВход = "12%3@m#ail.r_u";

СтрВыход = RegExp.Replace(СтрВход,"");
   Maniac
 
27 - 21.12.17 - 14:43
(26) На серверной 1С заработает? На линуксе?
   Timon1405
 
28 - 21.12.17 - 14:49
(27) в (0) ничего об этом. как нет и исходной конфигурации, в которой вы почему-то уверены, что есть ваши функции из (17).
   Maniac
 
29 - 21.12.17 - 14:52
(28) а надо сразу об этом думать)



Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует