motorway Опубликовано 17 июля, 2009 Жалоба Поделиться Опубликовано 17 июля, 2009 Как сделать на PHP замену точки с запятой на запятую между всеми аргументами функций MAX и MIN, если они есть в строке? В других местах заменять это не надо. Нужно заменить с учетом возможных вложенных максимумов внутри главной функции и наличия других скобок там. Пример: 3+MAX(3+5*(2+4)-MAX(5;9); 5; 4+A1)+MIN(5;30) -> 3+MAX(3+5*(2+4)-MAX(5,9), 5, 4+A1)+MIN(5,30) Ссылка на комментарий Поделиться на другие сайты Поделиться
Old men Опубликовано 17 июля, 2009 Жалоба Поделиться Опубликовано 17 июля, 2009 Я никаким образом НЕ программист, но что мешает сделать такую замену в Word'e? Извините, если чушь сказал :thumbup: Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 17 июля, 2009 Автор Жалоба Поделиться Опубликовано 17 июля, 2009 У меня данные посылаются скрипту, и это нужно делать автоматически. Но у меня как раз случай, что посылаются они из Эксела, так что можно и средствами VBA это сделать. Просто на PHP, наверно, легче. Ссылка на комментарий Поделиться на другие сайты Поделиться
XAKEPok Опубликовано 22 июля, 2009 Жалоба Поделиться Опубликовано 22 июля, 2009 если они есть в строке Ну если нужно заменить в строке то функцией strstr попробуй. $stroka = strstr ($stroka, ";", ","); Извиняюсь. Функция называется по другому. $stroka = str_replace ($stroka, ";", ","); Ну если нужно заменить в строке то функцией str_replace попробуй. $stroka = str_replace ($stroka, ";", ","); Ссылка на комментарий Поделиться на другие сайты Поделиться
Ф@РТОВЫЙ Опубликовано 25 июля, 2009 Жалоба Поделиться Опубликовано 25 июля, 2009 Если знак ; стоит только там где он должен стоять, то действительно можно сделать простую замену, которая заменит все ; в строке. Если же надо проигнорировать ; за пределами скобок у функций MIN и MAX то придется делать замену по регулярному выражению но так как есть вложеные функции и скобки, возникает вопрос, нужно ли заменять ; в других функциях и в просто скобках или не нужно? чем больше ограницений, тем сложнее получится регулярное выражение, вплоть до рекурсивного выражения Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 25 июля, 2009 Автор Жалоба Поделиться Опубликовано 25 июля, 2009 но так как есть вложеные функции и скобки, возникает вопрос, нужно ли заменять ; в других функциях и в просто скобках или не нужно? чем больше ограницений, тем сложнее получится регулярное выражение, вплоть до рекурсивного выражения В общем, с помощью людей с др. форума я разобрался. Не обязательно писать какое-то большое рег. выражение, можно сделать переменную, указывающую на то, открыта ли скобка, и увеличивать ее при открытии, а при закрытии уменьшать. Мне нужно было заменять в скобках, даже если они вложены. В других функциях - пока они не используются, но код может быть примерно тот же. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти