Viac

Ako kombinovať text a celé čísla v poli reťazca?

Ako kombinovať text a celé čísla v poli reťazca?


Mám pole s číslami (typ poľa: dvojité, formát čísla: číselné) a potrebujem vytvoriť nové pole a pred čísla vložiť text. Viem, že musím pridať nové pole reťazca, ale aký je správny výraz pre vloženie do poľnej kalkulačky?

Napríklad, ak je moje číslo 123, chcem ho zmeniť na abc123.

Používam ArcMap 10.1


To bude závisieť od toho, aký softvér používate. Pretože ste vo svojej otázke spomenuli Field Calculator, budete na prevod hodnôt používať syntaktický analyzátor programovacieho jazyka.

Pre Python (ArcMap, QGIS) môžete použiť zabudované prevodné funkcie Pythonu. Táto stránka to vysvetľuje dosť dobre a ukazuje príklady.

Ak používate ArcMap a VBScript, môžete použiť druhú sadu funkcií. Tu sú vysvetlené a poskytujú aj príklady.

V podstate v obidvoch prípadoch budete robiť kombináciu dvoch polí a prevádzať pole, ktoré to potrebuje.

Python: stringField + str (numberField)

VBScript: stringField & CStr (numberField)

Pozor: Toto neberie do úvahy kontrolu hodnoty poľa ani nič, čo by mohlo spôsobiť chybu pri prenášaní / konverzii / type.

Keď nám poviete, aký softvér používate, môžem túto odpoveď upraviť podrobnejšie a s príkladmi.


Tu je riešenie vašej otázky v ArcMap 10.1 pri použití VB Script.

Váš príklad bude: „abc“ a [celé číslo] v rámčeku výrazu.

Ak chcete mať medzi výrazom medzeru, bude: „abc“ & „“ & [celé číslo] (Upozorňujeme, že medzi strednými zátvorkami je medzera).

Z toho, čo povedal Adam: Používanie syntaktického analyzátora Pythonu bude vyžadovať odovzdanie celého čísla do reťazca: „abc“ + str (! integer!)


Funkcia výpočtu poľa, za ktorou ste, je concat () napr.

concat ('abc', 123)

v Arcmap uviedli tento príklad

http://resources.arcgis.com/en/help/main/10.1/index.html#//00170000004s000000

Zreťazte dve polia pomocou oddeľovača medzery

! SUB_REGION! + "" +! STATE_ABBR! v pytóne


Na vykonanie tohto typu operácie by som odporučil použiť metódu format triedy string. Tu je odkaz na podobnú otázku:

Zreťazenie reťazcov a číselných údajov v ArcGIS

Spravidla by ste sa mali vyhnúť použitiu zreťazenia v prospech metódy formátovania. Budete mať čistejší kód a väčšiu kontrolu nad konečným výstupným reťazcom.