7 votos

seleccionar por atributos y el valor específico de la reemplace

Quiero seleccionar todas las características por atributo donde el attribue en myattrib es como...

La selección de los criterios de H". Que no es un problema.

Sin embargo, a continuación, necesito reemplazar (myattrib," H", "") excepto yo sólo quiero reemplazar la H al final del atributo, no dentro, como "pan Caliente" H".

En este disco quiero el valor para terminar como "brindis HotH"

Hay 15 registros, pero sólo 4800 tienen el valor que estoy reemplazando. Y es siempre el mismo valor.

editar respuesta:

No. Todos los valores que quiero arreglar final en H con un espacio en frente de ella. Estoy dependiendo de búsqueda reemplazar pero no está seguro de cómo dejar el espacio en frente de Caliente.

En mi ejemplo yo soy capaz de seleccionar con el "% H" en el que se especifica que no hay nada después de la H para el select no se Caliente pesar de que hay un espacio antes. Sin embargo, cuando se trata de sustituir lo hace un literal de reemplazar en "H" y no se preocupan por el ot.

Creo que si yo sabía algo de expresiones regulares y "SI" de arcmap que apoya, Que puede hacer el truco (por lo que he visto en el FMEtalk foro). Estoy seguro de que alguien puede hablar de mí a través de este.

10voto

Michael Gorsuch Puntos 1760

Sí las expresiones Regulares son probablemente la mejor manera de hacer esto, y sí, puedes usar expresiones regulares en la herramienta Calcular Campo

Primero la expresión regular

>>> import re
>>> val = 'National and Provincial capital'
>>> print re.sub('al$', 'X', val)
National and Provincial capitX

Estoy subsituting "a", seguido por "l", seguido por "$" (que significa el final de la picadura) con la cadena 'X'. Así que 'el capital' se convierte en 'capiX', mientras que 'Nacional' y 'Provincial' son iguales.

En esta misma lógica dentro del bloque de código para CalculateField. Establecer el calculateField parámetros de la siguiente manera - "Nombre de campo" parámetro de salida nombre de campo (recomiendo calc ing en un nuevo campo, al menos hasta que estés seguro de que la salida es correcta).

- La "expresión" param a este

myroutine(!my_input_field_name!)
  • 'Expressioin Tipo' param para PYTHON

  • 'Bloque de código' param a este

.

import re
def myroutine(val):
    return re.sub('al$', 'X', val)

Algunos médicos si usted desea leer.

2voto

Neall Puntos 261

Así que 100% seguro de que buena vieja buscar y reemplazar no cortar la mostaza? Es el principal problema, usted también tiene valores como:

'tostadas Calientes H y quemado'

  • Y estos tipos de atributos que desea ignorar, pero la búsqueda y reemplazo no puede ser ajustado para excluir estos atributos?

alt text

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X