# I would like to "grab" numbers from a text field and then use the numbers in a calculation.

• 1
• Question
• Updated 7 months ago

I would like to "grab" numbers from a text field and then use the numbers in a calculation.

[Example text A] = "1 Pair per Bag, 12 Bags per Inner Bag, 12 Inner Bags per Case"

[Example text B] = "10 Eaches Box, 100 Boxes per Case"

I would like to create a formula field that grabs the above numbers in the sequence listed and multiple..

Example A -- New formula field  [1 * 12 *12] = 144

Example B -- New formula field  [10 * 100] = 1000

is this possible?

• 180 Points

Posted 4 years ago

• 1

Ⲇanom the ultimate (Dan Diebolt), Champion

• 30,434 Points
I don't think this is a good idea to actually implement this in the formula language - but it is technically possible to do by manually splitting apart the text field first on commas and then on spaces using Right(), Left() NotRight(), and NotLeft(). You will have to assume a maximum number of numeric values embedded in your text string and write the formula to parse out that many numbers and multiply them together. But I would suspect some user is going to deviate from the assumed format over time and the formula will eventually fail.

On the other hand this can done using script in a reliable way. This code fragment splits the text field on non-digits using a regular expression and then reduces the array by multiplying all non-empty terms together.

var field = "1 Pair per Bag, 12 Bags per Inner Bag, 12 Inner Bags per Case";
var terms = field.split(/\D+/g);
var product = _.reduce(terms, function(memo, item) {
return item.length > 0 ? item * memo : memo;
}, 1);
console.log(product);

logs 144

QuickBasePros (Laura Thacker), Champion

• 6,396 Points
If possible, consider splitting your numbers and unit values into separate fields; so you can more accurately capture the numeric values for more reliable calculations

Ⲇanom the ultimate (Dan Diebolt), Champion

• 30,434 Points
I even created a demo for you - just change some of the numbers in the text field and watch the numeric field update as you type:

https://haversineconsulting.quickbase.com/db/bj3fd38iz?a=er&rid=1

Pastie Database
https://haversineconsulting.quickbase.com/db/bgcwm2m4g?a=dr&rid=404
• 6,072 Points
Nice one :)
• 180 Points
You Da Man! Dan.....Thank you.
• 6,072 Points
Hi Dan,

can you help me with your code ?

Thanks,
Gaurav

Ⲇanom the ultimate (Dan Diebolt), Champion

• 30,434 Points
Emails could be pattern matched from the text easily. Usernames could appear indistinguishable from simple words so unless you had a list of usernames or some other unique characteristic they would be more difficult to pattern match.
• 6,072 Points
Ok..

can you give me code of email pattern ?
• 878 Points
Did dan ever publish code for emails?