HOW TO

Entfernen von führendem Text aus einer Zeichenfolge in ArcGIS Pro mit Arcade

Last Published: January 30, 2024

Zusammenfassung

In ArcGIS Pro können Python- oder Arcade-Ausdrücke verwendet werden, um ein neues Feld zu erstellen, das unbenötigte Textzeichenfolgen eines Feldes nicht enthält. Dies ist häufig bei Adressendatensätzen der Fall, bei denen die Hausnummer für die Analyse nicht benötigt wird. Das Entfernen von führendem Text aus einer Zeichenfolge dient beispielsweise dem Datenmanagement oder der Optimierung von Suchergebnissen.

Dieser Artikel enthält ein Beispiel und Anweisungen dazu, wie Python- und Arcade-Ausdrücke zum Entfernen von führendem Text aus einer Zeichenfolge in ArcGIS Pro verwendet werden.

Die folgende Abbildung zeigt das Feld "ADDRESS" mit Textzeichenfolgendatensätzen.

Die Attributtabelle "Schools_all" mit dem Feld "ADDRESS"

Vorgehensweise

  1. Klicken Sie im Bereich Inhalt mit der rechten Maustaste auf die Feature-Class, und klicken Sie auf Attributtabelle, um die Attributtabelle der Feature-Class zu öffnen.
Öffnen der Attributtabelle der Feature-Class über den Bereich "Inhalt"
  1. Klicken Sie auf Berechnen, um das Werkzeug Feld berechnen zu öffnen.
Note:
Refer to ArcGIS Pro: Calculate Field (Data Management) for more information on the parameters in the Calculate Field tool.
  1. Konfigurieren Sie im Dialogfeld Feld berechnen die folgenden Parameter:
  • Für Python 3:
    1. Wählen Sie für Eingabetabelle die Feature-Class aus.
    2. Wählen Sie unter Feldname (vorhanden oder neu) das Feld aus, das bearbeitet werden soll, oder erstellen Sie ein neues Feld. In diesem Beispiel wird "PYTHONSPLITADDRESS" erstellt.
    3. Wählen Sie als Ausdruckstyp die Option Python 3 aus.
    4. Geben Sie das folgende Skript im ersten Textblock an. "maxSplitParameter" entspricht der Anzahl der Elementteilungen. Wenn Sie "maxSplitParameter" beispielsweise auf 1 festlegen, wird eine Liste mit zwei Elementen zurückgegeben. Anhand der Elementposition innerhalb eines iterierbaren Objekts verweist "indexNumber" auf ein Element eines iterierbaren Objekts. Wenn Sie "indexNumber" beispielsweise auf 1 festlegen, wird das zweite Element zurückgegeben.
!<fieldName>!.strip().split(" ",<maxSplitParameter>)[<indexNumber>]

Der folgende Codeblock ist ein Beispiel für den Ausdruck.

!ADDRESS!.strip().split(" ",1)[1]
  1. Klicken Sie auf Überprüfen, um einen Test des Ausdrucks auszuführen. Wenn der Ausdruck gültig ist, dann klicken Sie auf OK.
Der Bereich des Werkzeugs "Feld berechnen" mit den Parametern, die festgelegt werden sollen
  • Für Arcade-Ausdrücke:
    1. Wählen Sie für Eingabetabelle die Feature-Class aus.
    2. Wählen Sie unter Feldname (vorhanden oder neu) das Feld aus, das bearbeitet werden soll, oder erstellen Sie ein neues Feld. In diesem Beispiel wird "ARCADESPLITADDRESS" erstellt.
    3. Wählen Sie als Ausdruckstyp die Option Arcade aus.
    4. Geben Sie im Fenster Ausdruck den folgenden Arcade-Ausdruck an:
      1. Definieren Sie die Variable, mit der eine Zeichenfolge innerhalb eines Textwertes gesucht wird. In diesem Beispiel wird "varName1" der Name fstSpace gegeben.
var <varName1> = find(' ',$feature.<fieldName>,<startPosition>)
  1. Definieren Sie die Variable, mit der die Zeichenanzahl in einem Textwert gezählt wird. In diesem Beispiel wird "varName2" der Name strCount gegeben.
var <varName2> = Count($feature.<fieldName>)
  1. Definieren Sie die Variable, mit der die Differenz zwischen "varName1" und "varName2" berechnet wird. In diesem Beispiel wird "varName3" der Name strDiff gegeben.
var <varName3> = <varName2> - <varName1>
  1. Geben Sie die folgende Anweisung an, um die angegebene Anzahl von Zeichen ab dem Ende eines Textwertes zurückzugeben.
return right($feature.<fieldName, <varName3>)

Der folgende Codeblock ist ein Beispiel für den vollständigen Ausdruck.

var fstSpace = Find(' ', $feature.ADDRESS, 0)
var strCount = Count($feature.ADDRESS)
var strDiff = strCount - fstSpace

return Right($feature.ADDRESS, strDiff)
  1. Klicken Sie auf Überprüfen, um einen Test des Ausdrucks auszuführen. Wenn der Ausdruck gültig ist, dann klicken Sie auf OK.
Der Bereich des Werkzeugs "Feld berechnen" mit den Parametern, die festgelegt werden sollen

Die folgende Abbildung zeigt die Felder "PYTHONSPLITADDRESS" und "ARCADESPLITADDRESS", die der Attributtabelle "Schools_all" hinzugefügt wurden, wobei der führende Text mithilfe von Python- und Arcade-Ausdrücken aus dem Feld "ADDRESS" entfernt wurde.

Die Attributtabelle "Schools_all" mit zwei neu hinzugefügten Feldern

Artikel-ID: 000029050

Benachrichtigungen erhalten und Lösungen für neue oder häufige Probleme finden

Unser neuer KI-Chatbot stellt zusammengefasste Antworten und Videolösungen für Sie bereit.

Esri Support App herunterladen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln