# `startsWith`

## Description

Returns `true` if a string begins with a given substring, otherwise return `false`.

Note

Unlike `contains`, which checks for a substring anywhere in the string, `startsWith` only matches the beginning.

## Syntax

Like many functions in DataPrime, `startsWith` supports [two notations](https://coralogix.com/docs/dataprime/language-reference/functions-reference/index.md), **function** and **method** notation. These interchangeable forms allow flexibility in how you structure expressions.

```dataprime
startsWith(value: string, prefix: string): bool
```

```dataprime
(value: string).startsWith(prefix: string): bool
```

## Arguments

| Name   | Type   | Required | Description                                                |
| ------ | ------ | -------- | ---------------------------------------------------------- |
| value  | string | **true** | The full string to test (haystack)                         |
| prefix | string | **true** | The substring to check at the start of the string (needle) |

## Example

**Check if a string is an AWS ARN**

AWS ARNs look like this:

```text
arn:aws:s3:::mybucket
```

To confirm if a value is an ARN, check if it starts with `arn:`:

### Example query

```dataprime
create is_arn from startsWith(resource_id, 'arn:')
```

```dataprime
create is_arn from resource_id.startsWith('arn:')
```

### Example output

```json
{
    "resource_id": "arn:aws:s3:::mybucket",
    "is_arn": true
}
```
