> For the complete documentation index, see [llms.txt](https://docs.zingg.ai/zingg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zingg.ai/zingg/zingg-concepts/zingg-configuration/field-definition/match-types/only_alphabets_exact-match.md).

# ONLY\_ALPHABETS\_EXACT Match

Strips all numeric characters first, then requires an exact match on the remaining alphabetic characters. Built for building & location names where unit numbers vary but the name should be identical.

### What `ONLY_ALPHABETS_EXACT` does

`ONLY_ALPHABETS_EXACT` removes all numeric characters from both field values and then compares the remaining alphabetic characters exactly. Two values match if their alphabetic portions are identical after numbers are stripped.

This is designed for situations where the numeric component of a value varies across records but the alphabetic component should be consistent.

### What **`ONLY_ALPHABETS_EXACT`** matches and what it does not

<table><thead><tr><th width="176.378173828125" valign="top">Value A</th><th width="177.22186279296875" valign="top">Value B</th><th valign="top">Match?</th></tr></thead><tbody><tr><td valign="top">Tower A, Flat 12</td><td valign="top">Tower A, Flat 7</td><td valign="top">Yes - both strip to "Tower A Flat", exact match</td></tr><tr><td valign="top">Tower A</td><td valign="top">Tower B</td><td valign="top">No - "Tower A" vs "Tower B" after stripping, different</td></tr><tr><td valign="top">Block 3, Wing East</td><td valign="top">Block 7, Wing East</td><td valign="top">Yes - both strip to "Block Wing East",<br>exact match</td></tr><tr><td valign="top">Block 3, Wing East</td><td valign="top">Block 3, Wing West</td><td valign="top">No - "Wing East" vs "Wing West"</td></tr><tr><td valign="top">42nd Floor, Suite A</td><td valign="top">18th Floor, Suite A</td><td valign="top">No - strips to "nd Floor, Suite A" vs "th Floor, Suite A"; the ordinal suffix letters survive stripping and differ</td></tr><tr><td valign="top">[null]</td><td valign="top">Tower A, Flat 12</td><td valign="top">Yes - a null/blank value on either side is an automatic match; add <code>NULL_OR_BLANK</code> if you want nulls excluded</td></tr></tbody></table>

### When to use **`ONLY_ALPHABETS_EXACT`**

<details>

<summary><strong>Building names and location identifiers</strong></summary>

"Tower A, Flat 12" vs "Tower A, Flat 7" - the building/block name is consistent but unit, flat, or floor numbers vary. The name is the matching signal; the number is noise.

</details>

<details>

<summary><strong>Fixed-route public transit</strong></summary>

"Route #4B - Downtown Express" vs "Route #12B - Downtown Express" - strips to "Route #B - Downtown Express" for both. The route variant letter must match exactly since a typo here means a different transit line, and stripping only digits keeps the punctuation intact so the label stays readable.

</details>

<details>

<summary><strong>Legal contract clauses and policy sections</strong></summary>

"Section 4.1(a): Termination for Convenience" vs "Section 12.3(a): Termination for Convenience" - strips to "Section .(a): Termination for Convenience" for both, grouping the same clause across contract templates or versions with no fuzzy tolerance on legal wording.

</details>

<details>

<summary><strong>Medical diagnostic panels and lab test sub-types</strong></summary>

"Hepatitis B Panel - Panel 1" vs "Hepatitis B Panel - Panel 4" - strips to "Hepatitis B Panel - Panel " for both, grouping the same test across internal lab tracking numbers. Fuzzy matching is too risky here - a typo in a diagnostic test name is a patient-safety issue.

</details>

<details>

<summary><strong>Warehouse aisle and rack tracking</strong></summary>

"Aisle-A / Tier-3" vs "Aisle-A / Tier-12" - strips to "Aisle-A / Tier-" for both, grouping records by physical corridor rather than shelf level. The aisle label must match exactly, and stripping only digits keeps the slashes and dashes intact for downstream layout scripts.

</details>

### When not to use **`ONLY_ALPHABETS_EXACT`**

<details>

<summary><strong>When the alphabetic portion also has variation</strong></summary>

`ONLY_ALPHABETS_EXACT` requires a perfect alphabetic match after stripping. "Saint James House" and "St James House" will not match - the alphabetic portions are different.

Use `ONLY_ALPHABETS_FUZZY` instead when the alphabetic component also has spelling or abbreviation variation.

</details>

{% hint style="success" icon="right-long" %}
**Related types**:

* `ONLY_ALPHABETS_FUZZY` - use when alphabetic parts also have variation
* `NUMERIC` - use for numeric fields

**Read more**: [Match types](/zingg/zingg-concepts/zingg-configuration/field-definition/match-types.md)
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.zingg.ai/zingg/zingg-concepts/zingg-configuration/field-definition/match-types/only_alphabets_exact-match.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
