# trim

[Read this page in HTML](https://www.scopedb.io/docs/reference/functions/string/trim)

Removes leading and trailing characters from a string.

## Syntax

```scopeql
trim(<string> [, chars => <chars>])
```

## Arguments

| Argument   | Type     | Description                                                                                                                                     |
| ---------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `<string>` | `string` | String to trim.                                                                                                                                 |
| `chars`    | `string` | Optional constant; defaults to `' \t\n\r'`. Set of characters to remove: space, tab, newline, and carriage return by default. Must not be NULL. |

## Returns

Returns `string`. Returns NULL if the input is NULL. An empty `chars` string leaves the input unchanged.

## Examples

### Clean padded event fields

Remove whitespace from both ends of imported labels. Brackets make the remaining spaces visible in the result.

```scopeql
VALUES ('  web  '), ('mobile ')
SELECT $0 AS raw_label
SELECT '[' || raw_label || ']' AS before, '[' || trim(raw_label) || ']' AS after
```

```text
+-----------+----------+
| before    | after    |
+-----------+----------+
| [  web  ] | [web]    |
| [mobile ] | [mobile] |
+-----------+----------+
```

### Remove producer formatting

Specify which characters to remove:

```scopeql
SELECT trim('[payment_failed]', chars => '[]') AS event
```

```text
+----------------+
| event          |
+----------------+
| payment_failed |
+----------------+
```

`chars` is a set of individual characters to remove, not a literal prefix or suffix to match.
