# letterBoundary

Match boundary between letter characters and non-letter characters

Since R2020b

## Syntax

``pat = letterBoundary``
``pat = letterBoundary(type)``

## Description

example

````pat = letterBoundary` creates a pattern that matches the start or end of a run of letter characters. `letterBoundary` can be negated using the `~` operator. When negated, `~letterBoundary` matches the boundary between any two characters except at the start or end of a run of letters.```

example

````pat = letterBoundary(type)` specifies whether to match at the start or end of a run of letters and numbers. `type` can be `'start'`, `'end'`, or `'either'` (default).```

## Examples

collapse all

Use `letterBoundary` to divide a string along boundaries between letters and nonletter characters.

Create a pattern that matches any letter boundaries.

```txt = "123 abc .?! def 456"; pat = letterBoundary;```

Use `replace` to insert "|" characters at the matched boundaries.

`replace(txt,pat,"|")`
```ans = "123 |abc| .?! |def| 456" ```

Use the `"start"` and `"end"` options for `letterBoundary` to match the boundary between letters and nonletter characters.

Create a string that contains several different character types. Create a pattern that matches any characters between a `"start"` boundary for letters and an `"end"` boundary.

```txt = "123 abc .?! def 456"; pat = letterBoundary("start") + wildcardPattern(1,inf) + letterBoundary("end");```

Extract the pattern.

`boundaries = extract(txt,pat)`
```boundaries = 2x1 string "abc" "def" ```

Use the `~` operator to negate `letterBoundary`. This matches boundaries between two characters when both are letters or neither are letters.

Create a string that contains several different character types. Create a pattern that matches a negated `letterBoundary`.

```txt = "123 abc .?!"; pat = ~letterBoundary;```

Use `replace` to insert `"|"` characters to show where ~`letterBoundary `matches.

`boundaries = replace(txt,pat,"|")`
```boundaries = "|1|2|3| a|b|c |.|?|!|" ```

## Input Arguments

collapse all

Boundary type, specified as `'start'`, `'end'`, or `'either'`.

Data Types: `char` | `string`

## Output Arguments

collapse all

Pattern expression, returned as a `pattern` object.

## Version History

Introduced in R2020b