| 
    
        
     
     | 
    
  | 
Преобразование строки в массив | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        drcrasher    
     31.05.16 
            ✎
    10:54 
 | 
         
        Господа, имею вопрос.
 
        Дано: строка телефонов, которая приходит с сайта в виде - "8-999-111-22-33 вася" - "7 999 111 2233 вася 8-999-222-3-444 петя звонить после 11" и им подобные. Требуется: разложить всю эту канитель в нормальный вид: -79991112233 + комментарий в КИ Вася -79992223444 + комментарий в КИ Петя звонить после 11 Есть мысли, как такое можно реализовать программно? Вариант "менеджер коллцентра должен править" рассматривается, но хочется автоматизации.  | 
|||
| 
    1
    
        Nuobu    
     31.05.16 
            ✎
    10:55 
 | 
         
        (0) Телефон до первой буквы?     
         | 
|||
| 
    2
    
        drcrasher    
     31.05.16 
            ✎
    10:57 
 | 
         
        (1) а если будет что-то типа "вася 8999 000 11 11"? 
 
        Вообще, я даже и представить не могу, какая каша в КИ на самом деле может встречаться.  | 
|||
| 
    3
    
        DDwe    
     31.05.16 
            ✎
    10:59 
 | 
         
        (2) Видимо регулярки тебе в помощь.     
         | 
|||
| 
    4
    
        Mikeware    
     31.05.16 
            ✎
    10:59 
 | 
         
        регулярные выражения....     
         | 
|||
| 
    5
    
        Mikeware    
     31.05.16 
            ✎
    11:00 
 | 
         
        (3) баян же ж, не правда ли? :-)     
         | 
|||
| 
    6
    
        DDwe    
     31.05.16 
            ✎
    11:03 
 | 
         
        (5) )))     
         | 
|||
| 
    7
    
        drcrasher    
     31.05.16 
            ✎
    11:04 
 | 
         
        (3)(4) хорошая мысль     
         | 
|||
| 
    8
    
        DDwe    
     31.05.16 
            ✎
    11:05 
 | 
         
        (7) Она не просто хорошая, она может оказаться единственно верной в твоей ситуации. ))     
         | 
|||
| 
    9
    
        Рэйв    
     31.05.16 
            ✎
    11:09 
 | 
         
        (0)Бардак систематизировать нельзя. Сначала придется причесать к какому то одному виду. Хотябы первое- это что телефон идет всегда первым. Или наоборот. Иначе это нереально     
         | 
|||
| 
    10
    
        drcrasher    
     31.05.16 
            ✎
    11:15 
 | 
         
        (8) осталось придумать, каким образом всё это выковыривать
 
        (9) в этом и проблема.  | 
|||
| 
    11
    
        1Сергей    
     31.05.16 
            ✎
    11:16 
 | 
         
        (10) если не так много элементов. то проще посадить обезьянку, которая распишет всё по полям     
         | 
|||
| 
    12
    
        DDwe    
     31.05.16 
            ✎
    11:17 
 | 
         
        (10) Пишешь релулярку, подсовываешь свою строку, потом втрорую, третью... и так пока фантазия не иссякнет. Не работает? Правишь регулярку, работает - вуаля.     
         | 
|||
| 
    13
    
        DDwe    
     31.05.16 
            ✎
    11:20 
 | 
         
        Телефоны ты вытащишь, а вот как ты это разбирать будешь ""7 999 111 2233 вася 8-999-222-3-444 петя звонить после 11" ", что к кому относится, я не знаю.     
         | 
|||
| 
    14
    
        DDwe    
     31.05.16 
            ✎
    11:21 
 | 
         
        (13)+ С другой стороны, напишешь маленькую, самообучающуюся нейронную сеть и проблемы нет. )))     
         | 
|||
| 
    15
    
        Mikeware    
     31.05.16 
            ✎
    11:23 
 | 
         
        (13) все, что до  очередного телефона - относится к предыдущему.     
         | 
|||
| 
    16
    
        DDwe    
     31.05.16 
            ✎
    11:25 
 | 
         
        (15) Ну, это мы так можем решить, а тот кто пишет эту ахинею, может думать по другому.     
         | 
|||
| 
    17
    
        drcrasher    
     31.05.16 
            ✎
    11:26 
 | 
         
        (11) обезьянки сопротивляются (пока).
 
        (14) ну это самое простое %) (16) ту не представляешь, насколько прав. иногда там встречаются паспортные данные и адреса  | 
|||
| 
    18
    
        VladZ    
     31.05.16 
            ✎
    11:29 
 | 
         
        (0)  А можно сделать так, чтобы с сайта информация приходила в виде : 
 
        <телефон>; <контактное лицо>; <информация> ???  | 
|||
| 
    19
    
        drcrasher    
     31.05.16 
            ✎
    11:33 
 | 
         
        (18) проблема в том, что эту инфу забивает покупатель. Заставить его вносить корректно - не реально     
         | 
|||
| 
    20
    
        DDwe    
     31.05.16 
            ✎
    11:35 
 | 
         
        (19) Опаньки....
 
        А он у тебя куда забивает?  | 
|||
| 
    21
    
        Mikeware    
     31.05.16 
            ✎
    11:36 
 | 
         
        (19) почему "не реально"? 
 
        регулярки точно так же могут проверять телефон и на сайте  | 
|||
| 
    22
    
        Mikeware    
     31.05.16 
            ✎
    11:36 
 | 
         
        (20) в косяк?     
         | 
|||
| 
    23
    
        DDwe    
     31.05.16 
            ✎
    11:37 
 | 
         
        (19) + Ты дай ему поля, что бы не было выбора и свободы и все.     
         | 
|||
| 
    24
    
        drcrasher    
     31.05.16 
            ✎
    11:37 
 | 
         
        (20) чего "опаньки"? В (0) же сразу написал об этом %)
 
        в обычный инпут (22) похоже (21) иногда этот набор букв забивают и в оффлайн магазине.  | 
|||
| 
    25
    
        drcrasher    
     31.05.16 
            ✎
    11:38 
 | 
         
        (23) мы ушли от вопроса разбора бардака к правильному подходу, но до подхода пока, к сожалению, далеко     
         | 
|||
| 
    26
    
        DDwe    
     31.05.16 
            ✎
    11:39 
 | 
         
        (25) Так почему нельзя разделить всё по полям ввода?     
         | 
|||
| 
    27
    
        drcrasher    
     31.05.16 
            ✎
    11:40 
 | 
         
        (26) насколько я понимаю, на сайте такая структура базы и страниц, что распилить не получится. но не уверен.     
         | 
|||
| 
    28
    
        drcrasher    
     31.05.16 
            ✎
    15:33 
 | 
         
        а подскажите, что же ему тут не нравится?
 
        Функция СодержитТолькоЦифры(Стр) // считаем, что телефон может содержать цифры, // + , - () Валидатор = "/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/"; РегЭксп.Pattern = Валидатор; РегЭксп.IgnoreCase = Истина; РегЭксп.Global = Истина; Рез = РегЭксп.Execute(Стр); ЧислоВх = Рез.Count(); ----- 0??? Возврат Истина; КонецФункции РегЭксп = Новый COMОбъект("VBScript.RegExp"); // Новый("RegExp"); Стр = "8-999-111-22-33";  | 
|||
| 
    29
    
        Timon1405    
     31.05.16 
            ✎
    15:57 
 | 
         
        (28) 1. слеши по бокам лишние
 
        Валидатор = "^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$"; 2. если нужна только проверка можно использовать функцию РегЭксп.Test(Стр);  | 
|||
| 
    30
    
        drcrasher    
     31.05.16 
            ✎
    16:11 
 | 
         
        (29) ага, спасибо     
         | 
|||
| 
    31
    
        drcrasher    
     31.05.16 
            ✎
    18:49 
 | 
         
        Ну что. Победила обработка =)
 
        Если кому нужно - могу выложить.  | 
|||
| 
    32
    
        DDwe    
     31.05.16 
            ✎
    19:16 
 | 
         
        (31) Давай, любопытно.     
         | 
|||
| 
    33
    
        Гобсек    
     01.06.16 
            ✎
    04:39 
 | 
         
        (31)выложи в книгу знаний     
         | 
|||
| 
    34
    
        VladZ    
     01.06.16 
            ✎
    05:16 
 | 
         
        (27) В наше время можно в космос полететь. Не поверю, что нельзя сделать нужную тебе структуру на сайте.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |