Vytisknout stránku | Zavřít okno

Nahrazení textu pomocí SRXTEXT

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD 360, prohlížečů, DWG a DWF, Design Review, Navisworks, nadstavby, 123D, A360 a cloud Autodesk 360
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=12412
Datum vytištění: 20.dub.2026 v 05:18


Téma: Nahrazení textu pomocí SRXTEXT
Odeslal: VladaMar
Předmět: Nahrazení textu pomocí SRXTEXT
Datum odeslání: 04.bře.2011 v 14:14
Dobrý den, potřeboval bych ve výkresu nahradit text výšky bodů z původních např. "100 00" na "100.00" Rád bych k tomu využil příkaz SRXTEXT, ale z readme nejsem moc chytrý a tak nevím jakou mám použít syntaxy. Uměl by mi někdo poradit? Předem děkuji



Odpovědi:
Odeslal: PepaR
Datum odeslání: 04.bře.2011 v 14:27

Najít a nahradit text

Příkaz:           SRXTEXT

Popis:  Najde a nahradí hledaný řetězec v textech, kótách a atributech bloků. Funkce zahrnuje pokročilé funkce pro vyhledávání a nahrazení jako využití regulárních výrazů, přidání řetězců na začátek nebo konec textů, jednotlivých slov, nahrazení pouze jednoho/prvního výskyt podřetězce, apod. srxTEXT lze využít i pro dávkové nahrazení textů ve více výkresech (pomocí skriptů). 

Více informací o regulárních výrazech naleznete na webu http://www.regularnivyrazy.info/" rel="nofollow - www.regularnivyrazy.info .

Legenda pro instrukce funkce:

Search - Regular expression/Exact string/<Substring>:

Hledat – Regulární výrazy/Přesný řetězec/<Podřetězec>:

Enter the searched text:

Zadejte hledaný text:

Enter the replace text:

(no replacements will be done)

Zadejte text pro nahrazení:

(pokud nic nezadáte, bude funkce pouze vyhledávat)

Search Layer/<All>:

Hledat v hladině/<Ve všech hladinách>:

Search Selected/<All>:

Hledat ve výběru/<V celém výkresu>:

Number of searched entities: ??

Počet nalezených objektů: ??

Najít a nahradit text pomocí CSV

Příkaz:           SRXTEXTCSV

Popis:  Najde a nahradí hledaný řetězec v textech, kótách a atributech bloků podle definicí v souboru CSV. Funkce zahrnuje pokročilé funkce pro vyhledávání a nahrazení jako využití regulárních výrazů, přidání řetězců na začátek nebo konec textů, jednotlivých slov, nahrazení pouze jednoho/prvního výskyt podřetězce, apod. Text bude nahrazen podle tabulky v souboru srxtext.csv, který naleznete ve složce POYRYmenu\Menu\Fce. Soubor CSV lze upravovat např. pomocí programu Microsoft Excel. srxTEXT lze využít i pro dávkové nahrazení textů ve více výkresech (pomocí skriptů).

Formát zápisu v souboru CSV:

bolt,"nut"         … řetězec bolt bude nahrazen řetězcem nut

male,"female" … řetězec male bude nahrazen řetězcem female

-------------
PepaR
https://www.jremes.cz" rel="nofollow - jremes.cz | https://www.stavlab.cz" rel="nofollow - stavlab.cz


Odeslal: Vladimír Michl
Datum odeslání: 04.bře.2011 v 14:42
Regulární výrazy jsou mocné, ale trochu zamotané a zápis některých řídících znaků pro LISP také, ale toto by mělo fungovat:
 
vyhledat: ^\([0-9]+\) \([0-9]+\)$
nahradit: \1.\2
 
Přeloženo do "lidštiny": od začátku textu hledej libovolně dlouhou skupinu složenou jen z číslic (zapamatuj si ji), následovanou mezerou a další takovou skupinou (zapamatuj si ji), která je na konci řádku. Místo nich zapiš první zapamatovaný řetězec, tečku a druhý zapamatovaný...
 


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: VladaMar
Datum odeslání: 04.bře.2011 v 14:52
Děkuji za bleskovou odpověď, nicméně daný postup bohužel nefunguje.  Již po zadání první části (co hledat) mi Autocad 2011 píše "Neplatné klíčové slovo"


Odeslal: Vladimír Michl
Datum odeslání: 04.bře.2011 v 15:31
A zvolil jste v prvním dotazu příkazu SRXTEXT volbu "Regular expression"?

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: VladaMar
Datum odeslání: 04.bře.2011 v 15:47
Máte pravdu, nezvolil. Nyní jsem jsem provedl vše správně, avšak výsledek žádný. Zasílám pro kontrolu záznam

Příkaz: SRXTEXT
Search - Regular expression/Exact string/<Substring>: r
Enter the searched text [Enter to select a text object]: ^\([0-9]+\) \([0-9]+\)$
Enter the replace text: \1.\2
Search Layer/<All>:
Search Selected/<All>:
Number of searched entities: 1172
Number of found/replaced entities: 0/0


Odeslal: Vladimír Michl
Datum odeslání: 04.bře.2011 v 16:45
Tohle vypadá dobře. Zřejmě tedy ty texty neodpovídají hledané masce. Je například mezi oběma skupinami čísel opravdu jen jedna mezera? Není mezera na začátku nebo na konci řetězce?

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: VladaMar
Datum odeslání: 05.bře.2011 v 09:22
Máte pravdu, ještě byla v textu mezera na konci řetězce. Tedy např. "100 00 ". Nakonec se mi to tedy přejmenovat vše povedlo, děkuji za rady


Odeslal: Vladimír Michl
Datum odeslání: 05.bře.2011 v 09:36
OK. Pokud je začátek a konec řetězce nejistý, stačí vynechat ty znaky ^ a $.

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)



Vytisknout stránku | Zavřít okno