12 / 11 / 7
Регистрация: 19.04.2016
Сообщений: 201
|
|
1 | |
И снова регулярки и замена по маске06.12.2017, 09:04. Показов 1205. Ответов 4
Метки нет (Все метки)
Добрый день, скажите пожалуйста, как можно максимально просто осуществить замену символов в строке по маске?
Имеется к примеру, строка вида: " 10-1+15+27(10-54+(12-1-3+3*5*10/2-3*5)100/10)2-5 " Мне для удобства будущих математических подсчетов, нужно заранее заменить в ней символы по примерной маске "\\d+\\(" на "\\d+\\*\\(", короче, если цифры стоят вплотную к скобкам, подразумевая умножение, надо вставить этот знак умножения между ними. Пробовал делать replaceALL, но никак не могу составить правильную регулярку. Изначально, я делал это в цикле, проверяя соотвествие ифами и инсертами вставляя нужные символы. Можно как-то осуществить задуманное без извращений и написания целой страницы кода? Спасибо.
0
|
06.12.2017, 09:04 | |
Ответы с готовыми решениями:
4
И снова регулярки Как в Delphi заменить по маске используя регулярки? Замена фразы по маске на другую фразу по маске в файле Регулярки. Поиск и замена |
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
06.12.2017, 09:19 | 2 |
s.replaceAll("(\\d)(\\()", "$1*$2").replaceAll("(\\))(\\d)", "$1*$2");
1
|
12 / 11 / 7
Регистрация: 19.04.2016
Сообщений: 201
|
||||||
06.12.2017, 10:51 [ТС] | 3 | |||||
Спасибо большое! Добавлено через 1 час 27 минут А как-нибудь так же просто при замене, умножить значения одной группы на вторую? Или где найти хорошую литературу по реплейсу и тому подобному? А то все что я нахожу в интернете на эту тему, сводится лишь к общим представлениям по замене. Я даже до этого момента не знал, что можно так работать с группами. Спасибо еще раз)
0
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
06.12.2017, 11:24 | 4 |
что умножить? строки? как ты это вообще себе представляешь?
0
|
12 / 11 / 7
Регистрация: 19.04.2016
Сообщений: 201
|
|
06.12.2017, 11:49 [ТС] | 5 |
Значения в строках, по тому и спрашиваю. Я парсил строку, разбивая на подстроки, умножал, преобразовывая в инт, и потом все слеплял в обратном порядке. Но это долго. По тому и спросил, может быть есть какой-то способ быстрее, прямо тут - внутри реплейса. Может быть есть какие-то методы работы с группами реплейса, где их можно приводить и так далее....
0
|
06.12.2017, 11:49 | |
06.12.2017, 11:49 | |
Помогаю со студенческими работами здесь
5
Замена цвета по маске в numpy Поиск и замена строк по маске Замена символов ячейки по маске Поиск и замена ключей реестра по маске Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |