
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 04, 2022 11:52 AM
Hi,
I need help to split this string into four pieces and put them in four new columns…
Maybe split two times with different delimeters?
{“email":"mail@gmail.com”,“firstname”:“John”,“lastname”:“Hong”,“phone”:“1234567”}
Column 1: mail@gmail.com
Column 2: John
Column 3: Hong
Column 4: 1234567
Thanks in advance!
Solved! Go to Solution.
Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 05, 2022 07:25 PM
Welcome to the Airtable community!
I approached this with regular expressions.
Here is the formula for the email:
REGEX_REPLACE(
REGEX_EXTRACT({text}, '"email":"[^"]+"'),
'("email":")([^"]+)(")',
'$2'
)
Here is the formula for the firstname:
REGEX_REPLACE(
REGEX_EXTRACT({text}, '"firstname":"[^"]+"'),
'("firstname":")([^"]+)(")',
'$2'
)
Hopefully you can figure out the other two fields from these two examples.
Some notes:
- I had to change some curly quotes to straight quotes. I’m guessing that your original text has straight quotes because it looks like a JSON string, which uses straight quotes. Often when pasting in text to the forum, the forum software converts straight quotes to curly quotes.
- This formula assumes that there will be data. If there is missing data, you will get an error. If any of the fields might be missing, the formula can be adjusted to return blank.
- This formula assumes that there will be no double quotes inside any of the actual values.
- This formula assumes that the spacing will be consistent (no spaces except inside actual values).
- This formula assumes that things that look like numbers are actually strings, as is the case with “phone”. If you have an actual number, you will need a slightly different formula.
- If you want any of the more complex formulas that I describe, feel free to book at meeting with me.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 04, 2022 01:36 PM
Unfortunately, Airtable formulas do not have proper string splitting functions or array handlers, so it’s a nightmare trying to do this in a formula. If you really want to attempt it, here are a couple threads that discuss the issue:
If you are on a plan that supports automations, you’ll likely be better off using an automation to parse these values for you, since dealing with JSON is trivial within a Script Action. Sorry to not have better news!

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 05, 2022 11:07 AM
Hi, and thanks for answering… do you mean automation with a script or what kind of automation? My plan supports automations.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 05, 2022 12:02 PM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 05, 2022 07:25 PM
Welcome to the Airtable community!
I approached this with regular expressions.
Here is the formula for the email:
REGEX_REPLACE(
REGEX_EXTRACT({text}, '"email":"[^"]+"'),
'("email":")([^"]+)(")',
'$2'
)
Here is the formula for the firstname:
REGEX_REPLACE(
REGEX_EXTRACT({text}, '"firstname":"[^"]+"'),
'("firstname":")([^"]+)(")',
'$2'
)
Hopefully you can figure out the other two fields from these two examples.
Some notes:
- I had to change some curly quotes to straight quotes. I’m guessing that your original text has straight quotes because it looks like a JSON string, which uses straight quotes. Often when pasting in text to the forum, the forum software converts straight quotes to curly quotes.
- This formula assumes that there will be data. If there is missing data, you will get an error. If any of the fields might be missing, the formula can be adjusted to return blank.
- This formula assumes that there will be no double quotes inside any of the actual values.
- This formula assumes that the spacing will be consistent (no spaces except inside actual values).
- This formula assumes that things that look like numbers are actually strings, as is the case with “phone”. If you have an actual number, you will need a slightly different formula.
- If you want any of the more complex formulas that I describe, feel free to book at meeting with me.
