# Shuffle

## Description

This operation rearranges the elements of an input string, list, or dataset into a random order. It’s a useful operation for tasks like randomization, testing, or introducing entropy into datasets.

***

## Data types

These are the input/output expected data types for this operation:

### Input data

![](/files/lPHCVhp93aYrWgLIlhNp) - Strings whose characters will be shuffled.

### Output data

![](/files/3itBmKrRqasWlG3dGBlS) - Resulting strings after shuffling the characters.

***

## Parameters

These are the parameters you need to configure to use this operation (mandatory parameters are marked with a <mark style="color:red;">**\***</mark>):

<details>

<summary>Delimiter<mark style="color:red;"><strong>*</strong></mark></summary>

Specifies a delimiter to split the input string before shuffling. Each segment of the string, separated by the delimiter, will be shuffled independently. If no delimiter is provided, the entire string is shuffled as a single unit.&#x20;

Choose between:

* **Line feed** - Select this to have each line of text as a separate value.
* **Space** - Your segments are separated by spaces.
* **Comma** - Your segments are separated by commas (`,`)
* **Semi-colon** - Your segments are separated by semi-colons (`;`)
* **Colon** - Your segments are separated by colons (`:`)
* **CRLF** - Carriage return line feed (CRLF) is a control character that originally referred to moving the carriage on typewriters back to the starting position. In computing, it’s used in classic Mac OS and some Windows-based systems to mark the end of a line. If your input uses `\r` as the line-ending character, you can set the delimiter to `\r` to correctly separate values. For example: `100\r200\r300`

</details>

***

## Example

Suppose you want to **shuffle** the characters of a series of strings in your input data:

1. In your Pipeline, open the required [Action](/the-workspace/pipelines/actions.md) configuration and select the input **Field**.
2. In the **Operation** field, choose **Shuffle**.
3. Set **Delimiter** to `Comma`.
4. Give your **Output field** a name and click **Save**. The characters in your input strings will be shuffled.

For example:

{% code overflow="wrap" %}

```
Hello, World! -> eollH,ro!ld W
```

{% endcode %}

{% hint style="info" %}
You can try out operations with specific values using the **Input** field above the operation. You can enter the value in the example above and check the result in the **Output** field.
{% endhint %}


---

# 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.onum.com/the-workspace/pipelines/actions/transformation/field-transformation/field-transformation-operations/utils/shuffle.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.
