# Substring

## Overview

![The Substring Node.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-ca26a4abce9da601301cfc86c991f41ac20571be%2Fsubstringupdatedimage.png?alt=media)

The **Substring Node** returns a part of a **String** based on the specified parameters given by the user.

For example, if the given **String** were `Lorem Ipsum` and the start index were `6` and the length of the *substring* were `5`, the output would be `Ipsum`.

[**Scope**](https://docs.incari.com/incari-studio/2023.2/overview#scopes): **Project**, **Scene**, **Function**, **Prefab**.

## Attributes

![The Substring Node Attributes.](https://2561100106-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff6JZovzOqBctA4C1o76u%2Fuploads%2Fgit-blob-8a93f687b0e67953359fe96a4a8cf9fccbc8c2d1%2Fsubstringattributes.png?alt=media)

| Attribute     | Type       | Description                                                                                                                                 |
| ------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `Source`      | **String** | The original **String** that the *substring* will come from, if one is not provided in the **Input Socket**.                                |
| `Start index` | **Int**    | The place in the **String** where the *substring* should start, if one is not provided in the **Input Socket**. The first index is 0.       |
| `Length`      | **Int**    | The length of the desired *substring*, if one is not provided in the **Input Socket**. This will decide the end of the *substring* as well. |

## Inputs

| Input             | Type       | Description                                                                                 |
| ----------------- | ---------- | ------------------------------------------------------------------------------------------- |
| *Pulse Input* (►) | **Pulse**  | A standard **Input Pulse**, to trigger the execution of the **Node**.                       |
| `Source`          | **String** | The original **String** that the *substring* will come from.                                |
| `Start index`     | **Int**    | The place in the **String** where the *substring* should start. The first index is 0.       |
| `Length`          | **Int**    | The length of the desired *substring*. This will decide the end of the *substring* as well. |

## Outputs

| Output             | Type       | Description                                                                                                                            |
| ------------------ | ---------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse**  | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| `Substring`        | **String** | The resulting *substring*.                                                                                                             |
