# Text

## Text Value

### String

The most basic but most often used text block is below. You can type into this text block, or leave it empty.

![](/files/-LAn6C6AZqkMi5AKxsSc)

### Join

Often, you'll want to join text values together with the `join` block:

![](/files/-MXlAGGWtGla4bKTIjFO)

### Newline

You can use the `newline` block to add a line break in a piece of text.

![](/files/-MJWI9weiKw3MImXY3aY)

## Reformat Text

Use these blocks to change the content or formatting of your text. These blocks will return the reformatted text.

### Set case

Set a piece of text to the selected case:

![](/files/-MXlAl2bIim8u--oAh01)

### Trim Spaces

Trim blank spaces from the left side, the right side, or both sides of a string of text:

![](/files/-MXlAt1Rgq8dyhhqrPPp)

### Replace all

Find and replace all occurrences of a substring within a string.

![](/files/-MJWJZ0ez6_JbHEvLqj8)

## Analyze Text

### Is Empty

The block below tests whether the text value is empty. Returns `true` or `false`

![](/files/-LAn6CCW75867iRh0PFG)

### Get letter

Returns the character at the specified position, where 1 is the first letter of the string.\
Returns the empty string if the length of text given is less than the position specified.

![](/files/-MXlAadUQi2xiFFPC-zr)

### Get substring

Returns the substring at the specified start and end position, where 1 is the first letter of the string.\
Returns the empty string if the length of text given is less than the starting position specified.

![](/files/-MXlB3LQBEg9lBhJ2N3R)

![](/files/-MXlB7cyOVC-rU6mfoMl)

### Find first/last occurrence

Returns the starting position of a substring within a string, where 1 is the first letter of the string.\
Returns 0 if the string does not contain the substring.

![](/files/-MXlBI1_FRJVDfeHE8h-)

### Does string contain

Checks if a string contains a substring. Returns `true` or `false`.&#x20;

![](/files/-MJWJ4McB0hDZMaujH8M)

### Get length of string

Returns length of a given string

![](/files/-LAn6CHAI5q3q4Ac_cj0)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thunkable.com/snap-to-place/text.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
