|
RegExp получить дробное число из строки | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
13.08.16
✎
21:07
|
Функция ПолучитьЧисло(Строка) Экспорт
мRegExp.Pattern = "[^0-9\ \%\-]"; Str1 = СокрЛП(Строка); Res = мRegExp.Replace(Str1, ""); Возврат Число(СокрЛП(Res)); КонецФункции По такой маске из строки "есть, 0.3 млн пикс." получаю только целое число. А нужно получить "0.3" . Ну чтобы и точку получало. А то точку пропускает. И еще чтобы полюбому получало точку которая находится между цифрами, тоесть в числе, и не учитывало другие точки в стоке. |
|||
1
Asmody
13.08.16
✎
21:25
|
(0) \d+.\d+
|
|||
2
Boudybuilder
13.08.16
✎
21:31
|
мRegExp.Pattern = "\d+.\d+";
Ошибку выдает |
|||
3
Asmody
13.08.16
✎
21:46
|
ХЗ чё там у тебя за wRegExp. В pcre нет ошибки.
|
|||
4
orefkov
13.08.16
✎
22:46
|
(1)
\d+.?\d+ |
|||
5
orefkov
13.08.16
✎
22:47
|
\d+.?\d+
|
|||
6
orefkov
13.08.16
✎
22:48
|
А что движок форума слэш перед точкой съедает? Два раза посетил, и каждый раз пропадает.
|
|||
7
Мэс33
13.08.16
✎
23:40
|
А если такая строка: "есть, 3 млн пикс" ?
|
|||
11
Asmody
13.08.16
✎
23:47
|
|
|||
12
Мэс33
13.08.16
✎
23:50
|
(11) не воспринимает строку "вот строка с 3 млн рублей"?
Проверял на https://regex101.com/ |
|||
13
Мэс33
13.08.16
✎
23:52
|
\d+.\d+\d*\.?\d+|\d
|
|||
14
Мэс33
13.08.16
✎
23:53
|
\d*\.?\d+|\d
|
|||
15
Мэс33
13.08.16
✎
23:54
|
//эй... \d*\.?\d+|\d
|
|||
16
Мэс33
13.08.16
✎
23:54
|
Функция ПолучитьЧисло(Строка) Экспорт
мRegExp.Pattern = "\d*\.?\d+|\d"; Str1 = СокрЛП(Строка); Res = мRegExp.Replace(Str1, ""); Возврат Число(СокрЛП(Res)); КонецФункции |
|||
17
Asmody
13.08.16
✎
23:56
|
(12) плохо проверял
|
|||
18
Boudybuilder
18.08.16
✎
15:25
|
О, щас проверю. Заранее спасибо!
|
|||
19
Boudybuilder
22.08.16
✎
20:17
|
(16) Строка = "150 г"
Res Возращает - " г" А не 150 |
|||
20
Boudybuilder
23.08.16
✎
08:48
|
(16) Не правильно работает. Помогите.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |