Visual Studio znajdź i zamień wyrażenia regularne pomoc
Chciałbym zamienić kilka poleceń typu:
int someNum = txtSomeNum.Text;
int anotherNum = txtAnotherNum.Text;
Z
int someNum = Int32.Parse(txtSomeNum.Text);
int anotherNum = Int32.Parse(txtAnotherNum.Text);
Czy istnieje dobry sposób, aby to zrobić z Visual Studio ' S Find and Replace, używając wyrażeń regularnych? Nie jestem pewien, jakie byłoby Wyrażenie regularne.
4 answers
Myślę, że w Visual Studio można oznaczyć wyrażenia klamrami {txtSomeNum.Text}
. Następnie w zastępstwie możesz się do niego odnieść za pomocą \1
. Więc linia zastępcza byłaby czymś w rodzaju Int32.Parse(\1)
.
Update: via @ Timothy003
VS 11 usuwa składnię {} \1 i używa () $1
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-05 13:28:51
Obszerny przewodnik
Http://blog.goyello.com/2009/08/22/do-it-like-a-pro-%E2%80%93-visual-studio-find-and-replace/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-03 10:32:25
Tego szukałem:
Find: = {.*\.Tekst}
Replace: = Int32.Parse (\1)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-24 02:47:45
Lepszym regex dla oryginalnego problemu byłoby
Znajdź expr.: {: i\.Tekst}
Zastąp expr.: Int32Parse (\1)
Zobacz: http://msdn.microsoft.com/en-us/library/2k3te2cs%28v=vs.100%29.aspx
Dla definitywnego przewodnika do regex w VS.
Niedawno ukończyłem formatowanie innego projektu programisty C++ z piekła rodem. Całkowicie i arbitralnie wpisywał lub pomijał losowo spacje i tabulatory, wcięcia (lub nie) i obłąkany poziom zagnieżdżania nawiasów, taki, że nikt z nas przyzwyczajony do standardów kodowania jakiegokolwiek typu nie mógł nawet zacząć czytać kodu zanim zacząłem. Używane regex szeroko do znalezienia i skorygowania nieprawidłowych konstrukcji. W ciągu kilku godzin udało mi się rozwiązać główne problemy w około 125 000 linii kodu, nie patrząc na większość z nich. W jednym pojedynczym find/replace zmieniłem ponad 22 000 linijek kodu w 125 plikach, łączny czas poniżej 10 sekund.
Szczególnie przydatne konstrukcje w regex:
:b + = = jeden lub więcej spacji i / lub tabulatorów.
: i = = dopasowuje nazwę zmiennej w stylu C lub słowo kluczowe (tj. while, if, pick3, bNotImportant)
: Wh = = znak spacji.; nie tylko puste lub tabulator
: Sm = = dowolny z symboli arytmetycznych ( + , -,>,=, itd.)
: Pu = = dowolny znak interpunkcyjny
\N = = podział linii (przydatny do znalezienia miejsca, w którym wstawił 8 lub 10 pustych linii)
^ == dopasowuje początek linii ($to match end)
Chociaż byłoby miło dopasować jakiś inny standard regex (duh), okazało się, że wiele rozszerzeń MS jest niezwykle przydatnych do wyszukiwania bazy kodu, na przykład nie trzeba definiować 'identyfikatora' setki razy jako "[a-Za-z0-9]+", zamiast używać ":i".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-15 17:38:22