Blog

Airtable: Break a String of Text into 2 Separate Strings

FE
Filla EditorialbeginnerNov 10, 2025

Split one string into two fields

You have a single text field with content like "First part / Second part" and need to split it into two separate fields. Airtable formulas can extract the text before and after a delimiter.


Basic split by delimiter

Split by forward slash

If your text looks like "This is the first part / This is the second part":

First field (everything before the "/"):

LEFT({Text}, FIND("/", {Text}) - 2)

Second field (everything after the "/"):

RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1)

How it works:

  • FIND("/", {Text}) locates the position of the "/" character
  • LEFT() extracts characters from the start up to (position - 2) to exclude the "/" and the space before it
  • RIGHT() extracts from the end, calculating the start position after the "/" and space

Split by other delimiters

Split by comma

Replace "/" with "," in the formulas:

First field:

LEFT({Text}, FIND(",", {Text}) - 1)

Second field:

RIGHT({Text}, LEN({Text}) - FIND(",", {Text}) - 1)

Split by pipe character

First field:

LEFT({Text}, FIND("|", {Text}) - 1)

Second field:

RIGHT({Text}, LEN({Text}) - FIND("|", {Text}) - 1)

Split by dash or hyphen

First field:

LEFT({Text}, FIND("-", {Text}) - 1)

Second field:

RIGHT({Text}, LEN({Text}) - FIND("-", {Text}) - 1)

Handle missing delimiters

If the delimiter might not exist in some records, wrap the formula in an IF() statement:

First field (with fallback):

IF(
  FIND("/", {Text}),
  LEFT({Text}, FIND("/", {Text}) - 2),
  {Text}
)

Second field (with fallback):

IF(
  FIND("/", {Text}),
  RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1),
  ""
)

This ensures:

  • If the delimiter exists, the text is split correctly
  • If no delimiter is found, the first field shows the original text and the second field is empty

Trim whitespace

If your delimiter might have inconsistent spacing, use TRIM() to clean up the results:

First field:

TRIM(LEFT({Text}, FIND("/", {Text}) - 2))

Second field:

TRIM(RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1))

TRIM() removes leading and trailing spaces from the extracted text.


Split by first space

To split a full name into first and last name (assuming single space):

First name:

IF({Full Name}, LEFT({Full Name}, FIND(" ", {Full Name}) - 1))

Last name:

IF({Full Name}, RIGHT({Full Name}, LEN({Full Name}) - FIND(" ", {Full Name})))

Note: This assumes exactly one space. For names with middle names or multiple spaces, use a more complex approach or regex.


Split by first number

If you have text like "Angola 8 April 1994" and want to separate the location from the date:

Location field:

TRIM(SUBSTITUTE({Original}, DATETIME_FORMAT({Date}, "D MMMM YYYY"), ""))

Date field:

DATETIME_PARSE({Original}, "D MMMM YYYY")

This works by:

  1. Parsing the date from the string
  2. Formatting it back to the same format
  3. Removing that formatted date from the original string
  4. Trimming the remaining text

Common patterns

Extract text before first delimiter

LEFT({Text}, FIND("/", {Text}) - 2)

Extract text after first delimiter

RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1)

Extract text before last delimiter

If you have multiple delimiters and want everything before the last one:

LEFT({Text}, FIND("/", REVERSE({Text})))

This is more complex and may require additional logic depending on your use case.


Tips and best practices

Always check for the delimiter

Use IF(FIND(...)) to avoid errors when the delimiter doesn't exist:

IF(FIND("/", {Text}), LEFT({Text}, FIND("/", {Text}) - 2), {Text})

Consider spacing

If your delimiter has spaces around it (like " / "), adjust the offset:

  • FIND("/", {Text}) - 2 removes the "/" and one space before it
  • FIND("/", {Text}) - 1 removes only the "/"
  • FIND("/", {Text}) - 3 removes the "/" and spaces on both sides

Use TRIM for cleanup

Always wrap extracted values in TRIM() to handle inconsistent spacing:

TRIM(LEFT({Text}, FIND("/", {Text}) - 2))

Test with edge cases

Before deploying, test with:

  • Empty strings
  • Text without the delimiter
  • Text with multiple delimiters
  • Text with leading/trailing spaces

When formulas aren't enough

Formulas work great for splitting into 2-3 fields with a consistent delimiter. For more complex scenarios, consider:

  • Scripts: When you need to split into multiple records or handle variable patterns
  • External tools: Make, Zapier, or other automation tools for complex parsing
  • Regex: Use REGEX_EXTRACT() for pattern-based extraction (available in Airtable formulas)

Quick reference

Goal Formula
Split by "/" (first part) LEFT({Text}, FIND("/", {Text}) - 2)
Split by "/" (second part) RIGHT({Text}, LEN({Text}) - FIND("/", {Text}) - 1)
Split with safety check IF(FIND("/", {Text}), LEFT({Text}, FIND("/", {Text}) - 2), {Text})
Split and trim whitespace TRIM(LEFT({Text}, FIND("/", {Text}) - 2))
Split by first space LEFT({Text}, FIND(" ", {Text}) - 1)

References

Community discussion with solutions for splitting strings: Formula to break a string of text onto 2 separate strings of text

Airtable: Break a String of Text into 2 Separate Strings