Нужно найти в тексте знаки =, +, -, *, ==, ^, >, <, <=, >= и сделать так, чтобы они были отделены от других знаков одним пробелом, пример - "25 + 17 = 42 >= 13", вместо "25+17=42>= 13"..
Нужен сам алгоритм, так как с одиночными знаками получается сделать, а вот например с == или || уже проблемно :(
Примечание:
по поводу языка - нужно сделать макрос для visual studio 2008\2010, который при сохранении проекта меняет стиль всего документа на нужный..
Примечание:
макросы там пишутся на VB.. фрагмент кода для поиска и замены "=":
''''' находим знак равенства и с обеих сторон добавляем по пробелу ''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
DTE.Find.FindReplace(vsFindAction.vsFindActionReplaceAll, _
"=", _
vsFindOptions.vsFindOptionsRegularExpression, _
" = ", _
vsFindTarget.vsFindTargetCurrentDocument, , , _
vsFindResultsLocation.vsFindResultsNone)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'' убираем лишние пробелы возле =, оставляем по одному пробелу ''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
DTE.Find.FindReplace(vsFindAction.vsFindActionReplaceAll, _
"{[:b]+}+=+{[:b]+}", _
vsFindOptions.vsFindOptionsRegularExpression, _
" = ", _
vsFindTarget.vsFindTargetCurrentDocument, , , _
vsFindResultsLocation.vsFindResultsNone)
Примечание:
так как с помощью регулярных выражений необходимо все это сделать, то нужен алгоритм этой простой задачки.. если на словах объяснить, то все это нужно сделать с помощью двух действий - 1) "найти A" 2) "Заменить А на B". Пример:
код:
a=5;
b= 6;
c = 4;
нужно чтобы стало:
a = 5;
b = 6;
c = 4;
По моему алгоритму делаем так - находим "=", меняем его на " = " (с пробелами с обеих сторон), затем снова находим "=" и все пробелы рядом с ним (с помощью регулярных выражений это легко) и меняем на " = " (с пробелами с обеих сторон).. Для одного "=" все хорошо работает, но когда добавляется еще "==", то алгоритм для "=" мешает алгоритму для "==" и в итоге получается:
код:
a=5;
b= 6;
c = 4;
d==7;
получается:
a = 5;
b = 6;
c = 4;
d = = 7;
В последней строчке вместо " == " получается " = = "
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.