# charmatch

##### Partial String Matching

`charmatch`

seeks matches for the elements of its first argument
among those of its second.

- Keywords
- character

##### Usage

`charmatch(x, table, nomatch = NA_integer_)`

##### Arguments

- x
the values to be matched: converted to a character vector by

`as.character`

. Long vectors are supported.- table
the values to be matched against: converted to a character vector. Long vectors are not supported.

- nomatch
the (integer) value to be returned at non-matching positions.

##### Details

Exact matches are preferred to partial matches (those where the value to be matched has an exact match to the initial part of the target, but the target is longer).

If there is a single exact match or no exact match and a unique
partial match then the index of the matching value is returned; if
multiple exact or multiple partial matches are found then `0`

is
returned and if no match is found then `nomatch`

is returned.

`NA`

values are treated as the string constant `"NA"`

.

##### Value

An integer vector of the same length as `x`

, giving the
indices of the elements in `table`

which matched, or `nomatch`

.

##### See Also

`startsWith`

for another matching of initial parts of strings;
`grep`

or `regexpr`

for more general (regexp)
matching of strings.

##### Examples

`library(base)`

```
# NOT RUN {
charmatch("", "") # returns 1
charmatch("m", c("mean", "median", "mode")) # returns 0
charmatch("med", c("mean", "median", "mode")) # returns 2
# }
```

*Documentation reproduced from package base, version 3.4.3, License: Part of R 3.4.3*