Mr. Anderson
Новичок
- Сообщения
- 122
- Репутация
- 4
Пишу функцию, из уравнения вида x=10-8+12^2*sin([$pi*t/6]) нужно тригонометрическую часть sin([$pi*t/6]) вынести в левую часть, остальное в правую.
Всё написанное далее под сомнением, выкладывать не стоит. В данный момент по моей версии нужно заменить "+" на "-" и наоборот, деление или умножение можно сделать потом. Но для того что бы поменять + на минус нужно знать количество вхождений в строку, а для этого я функции не нашел...
В моём примере в правую часть выносится x=10-8+12^2*, это нужно преобразовать в [x-10+8/12^2]. :wacko:
P.S. Поразмыслив пришел к выводу что можно справиться с помощью регулярных выражений. Но с ними увы особо не сталкивался, а c AutoIT и вовсе 3 дня как знаком...
Как записать выражение где [некоторая переменная без ^ и *] стоит между знаков [+], [=] или [-]?
Код:
Func RemoveTrig($var) ;Функция переносящая влево тригонометрическую часть и вправо остальную
$var1 = StringReplace($var, "[", "")
$var1 = StringReplace($var1, "]", "")
$trig_part_start = StringInStr($var1, "sin")
$trig_part_end = StringInStr($var1, ")")
$trig_part_col = $trig_part_end - $trig_part_start + 1
$trig_part = StringMid($var1, $trig_part_start, $trig_part_col)
$oher_part = StringReplace($var1, $trig_part, "")
EndFunc
Всё написанное далее под сомнением, выкладывать не стоит. В данный момент по моей версии нужно заменить "+" на "-" и наоборот, деление или умножение можно сделать потом. Но для того что бы поменять + на минус нужно знать количество вхождений в строку, а для этого я функции не нашел...
В моём примере в правую часть выносится x=10-8+12^2*, это нужно преобразовать в [x-10+8/12^2]. :wacko:
P.S. Поразмыслив пришел к выводу что можно справиться с помощью регулярных выражений. Но с ними увы особо не сталкивался, а c AutoIT и вовсе 3 дня как знаком...
Как записать выражение где [некоторая переменная без ^ и *] стоит между знаков [+], [=] или [-]?