Русское сообщество AutoIt

  • Май 24, 2013, 22:29:06 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Создан файловый архив для участников форума.

Закачивайте свои файлы и получайте рейтинг, прямые ссылки, и т.п.

Для изображений и скриншотов по прежнему есть AUTOIT.RV.UA

Реклама

Автор Тема: [Математика] Разделение дроба на части  (Прочитано 1512 раз)

0 Пользователей и 1 Гость смотрят эту тему.

MockeR [?]

Добрый вечер)
Есть десятичная дробь. Нужно из него с помощью регулярных выражений извлечь целую часть, дробную и период.

Например:
Код: AutoIt [Выделить]
$Number = '14.12(56)'

$Int = 14
$Fract = 12
$Per = 56
 
:think:




  Записан

gregaz [?]

  • AutoIt Гуру
  • *****
  • Репутация: 283
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 1091
  • Версия AutoIt: 3.3.8.1
    • Награды
Re: [Математика] Разделение дроба на части
« Ответ #1, Отправлен: Ноябрь 15, 2011, 20:56:15 »
Код: AutoIt [Выделить]
#Include<Array.au3>
$sText = "14.12(56)"

;$sPatern = "(\d*)[.)(]"
$sPatern = "(\d*)[)(.]?"
$aResult = StringRegExp( $sText, $sPatern, 3 )
_ArrayDisplay($aResult, ' Test Result ')

 
« Последнее редактирование: Ноябрь 15, 2011, 21:12:45 от gregaz »



  Записан
Самая большая проблема – её сформулировать. 

MockeR [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 10
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 91
    • Награды
Re: [Математика] Разделение дроба на части
« Ответ #2, Отправлен: Ноябрь 15, 2011, 21:06:42 »
Спасибо, работает :)

Но есть одно "но", если нет периода, то возвращает только целую часть :-X




  Записан

gregaz [?]

  • AutoIt Гуру
  • *****
  • Репутация: 283
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 1091
  • Версия AutoIt: 3.3.8.1
    • Награды
Re: [Математика] Разделение дроба на части
« Ответ #3, Отправлен: Ноябрь 15, 2011, 21:11:05 »
MockeR  [?]
Цитата
Но есть одно "но", если нет периода, то возвращает только целую часть

Измени шаблон на
Код: AutoIt [Выделить]
$sPatern = "(\d*)[)(.]?"

 
:




  Записан

MockeR [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 10
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 91
    • Награды
Re: [Математика] Разделение дроба на части
« Ответ #4, Отправлен: Ноябрь 15, 2011, 21:18:04 »
Вот теперь отлично работает! :ok:
Огромное спасибо=)




  Записан

SyDr [?]

  • Локальный модератор
  • *
  • *****
  • Репутация: 156
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 633
  • Сидра
    • Награды
Re: [Математика] Разделение дроба на части
« Ответ #5, Отправлен: Ноябрь 15, 2011, 21:32:17 »
На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
Тема не решена




  Записан

Garrett [?]

Re: [Математика] Разделение дроба на части
« Ответ #6, Отправлен: Ноябрь 16, 2011, 00:36:28 »
Супер название!
Цитата
Разделение дроба на части
Бедный, бедный "дроба"  :(

MockeR  [?]
Цитата
Нужно из него с помощью регулярных выражений извлечь целую часть, дробную и период.
Ну, когда уже, наконец, научимся правильно формулировать вопросы и выбирать разделы?
Регулярные выражения и прочее



Добавлено: Ноябрь 16, 2011, 00:38:24
SyDr, пожалуйста, перенесите тему. :thanks:




  Записан

--------------------------------------------------------------------------------------------------
Все стандарты Document Object Model HTML
--------------------------------------------------------------------------------------------------
«Жизнь – цепь, а мелочи в ней – звенья. Нельзя звену не придавать значения!»

madmasles [?]

  • Глобальный модератор
  • *
  • *****
  • Репутация: 1839
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 4726
  • Версия AutoIt: 3.3.8.1
    • Награды
Re: [Математика] Разделение дроба на части
« Ответ #7, Отправлен: Ноябрь 16, 2011, 00:59:11 »
У меня этот бедный дроба  :) и так делится.
Код: AutoIt [Выделить]
#include <Array.au3>

Dim $aText[4] = ['14.12(56)', '14.12', '14', '14,12+-15(44)']
;$sPattern = '(\d+)'
$sPattern = '\d+'
For $i = 0 To 3
    $aResult = StringRegExp($aText[$i], $sPattern, 3)
    If @error Then ContinueLoop
    _ArrayDisplay($aResult, $aText[$i])
Next

gregaz [?]

  • AutoIt Гуру
  • *****
  • Репутация: 283
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 1091
  • Версия AutoIt: 3.3.8.1
    • Награды
Re: [Математика] Разделение дроба на части
« Ответ #8, Отправлен: Ноябрь 16, 2011, 05:31:24 »
madmasles  [?]
Цитата
У меня этот бедный дроба  и так делится

Действительно, зачем лишние телодвижения.




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Деление пути к файлу на части
Полезняшки
CreatoR 9 4515 Последний ответ Май 21, 2013, 01:42:12
от Astel064
Разделение текста до и после пустой строки (регулярные выражения)
Регулярные выражения и прочее
Latoid 3 1710 Последний ответ Декабрь 10, 2009, 13:52:38
от Latoid
Организация повтора части cкрипта
AutoIt для новичков
kseniya 3 1391 Последний ответ Декабрь 23, 2010, 15:22:15
от madmasles
Как разделить файл на части
AutoIt для новичков
MockeR 6 1818 Последний ответ Февраль 14, 2011, 23:24:58
от MockeR
Разделить GUI окно на 3 части
GUI - Графический интерфейс пользователя
Trans 4 1317 Последний ответ Сентябрь 23, 2011, 10:30:38
от Trans
Перенесено: [Математика] Разделение дроба на части
AutoIt для новичков
Kaster 0 573 Последний ответ Ноябрь 16, 2011, 00:50:55
от Kaster
Разделение,замена строки и дописывание новых значений
Регулярные выражения и прочее
ShAG1992D 4 933 Последний ответ Июнь 30, 2012, 18:03:00
от Garrett
Перенесено: Разделение,замена строки и дописывание новых значений
Стол заказов
madmasles 0 355 Последний ответ Июнь 27, 2012, 11:55:00
от madmasles
разделение времени загрузки
Автоматизация IE и Web-интерфейса
defens 2 265 Последний ответ Декабрь 24, 2012, 08:09:05
от defens
Перенесено: разделение времени загрузки
AutoIt для новичков
madmasles 0 144 Последний ответ Декабрь 24, 2012, 22:02:35
от madmasles


Реклама