Имя: Пароль:
1C
1С v8
Использование RegExp
0 Stanislav1C
 
12.09.16
17:10
Нужно мне преобразовать строку в число. Проблема в том, что строковое значение может иметь вид "14.5с". Как оставлять в строке только цифры мне подсказал гугл:

RegExp = Новый COMОбъект("VBScript.RegExp");
      
     RegExp.IgnoreCase = Истина; //Игнорировать регистр
     RegExp.Global = Истина; //Поиск всех вхождений шаблона
     RegExp.MultiLine = Истина; //Многострочный режим
     RegExp.Pattern = "[^0-9]"; // отбор только чисел
    
     стр=RegExp.Replace(стр, "");

Но как помимо цифр оставлять еще и "." - понять не могу, пробовал менять шаблон на "[^0-9, /.]" и "[^ 0123456789/.]"  - не принимает)
1 Fragster
 
гуру
12.09.16
17:11
\
2 Stanislav1C
 
12.09.16
17:12
(1) Неправильно указал, пробовал как раз с \
3 Dmitry1c
 
12.09.16
17:13
О боже мой.
7 Fragster
 
гуру
12.09.16
17:14
8 Stanislav1C
 
12.09.16
17:16
(5) Спасибо!
9 orefkov
 
12.09.16
17:20
Кошернее вместо 0-9 использовать \d. И квантификатор "один и более" добавить (плюсик), для уменьшения реплейсов.
[^\d.]+
10 Fragster
 
гуру
12.09.16
17:21
(9) тогда уж не заменить все, кроме чисел, а найти только числа
11 Fragster
 
гуру
12.09.16
17:22
например так: \d+(.\d*)?
12 Fragster
 
гуру
12.09.16
17:22
ну, или вместо * тоже +, смотря что считать числами
13 xafavute
 
12.09.16
17:25
А бывают еще числа вида .5
14 trdm
 
12.09.16
17:44
[^0-9] - "^" - означает кроме.
[0-9]+([\.]*[0-9]*)
15 Fragster
 
гуру
12.09.16
17:45
(14) 0...4235
16 Fragster
 
гуру
12.09.16
17:46
и даже 0....
17 xafavute
 
12.09.16
17:52
Сайт прикольный, визуализирует регекспы
https://regexper.com/
18 Fragster
 
гуру
12.09.16
18:18
(17)только там яваскриптовые регэкспы, а не (0)
19 Fragster
 
гуру
12.09.16
18:22
а (0) можно потестить в http://catalog.mista.ru/public/75941/ (см. (7))
20 xafavute
 
12.09.16
18:23
(19) Не как тестер, тестеров валом, а как визуализатор
21 Fragster
 
гуру
12.09.16
18:26
(20) если регэксп такой сложный, что его надо "визуализировать", то его надо выкинуть http://imgs.xkcd.com/comics/perl_problems.png