Can someone please help me with regex expression.
I am trying to get “1.13” out of “1.13.16” and “1.2” out of 1.2.13"
I can’t use truncate as the numbers can vary in length.
Thanks for your help.
Can someone please help me with regex expression.
I am trying to get “1.13” out of “1.13.16” and “1.2” out of 1.2.13"
I can’t use truncate as the numbers can vary in length.
Thanks for your help.
Is it always exactly 3 characters (dot pus 2 digits) at the end that you want to discard?
No. All numbers can change in length. Only thing persistent is the number of periods.
Can there be multiple occurrences of the pattern in a string, or is each pattern - i.e. each dot-separated group of 3 numbers - a separate string? (That determines whether string start/end anchors can be used in the regex.)
This is the pattern: “Number (1-3 digits).Number(1-3 digits). Number (1-3 digit)”
By 1-3 digit number I mean that the number can be “9” or “99” or “999”
I want this part extracted from left “Number(1-3 digit). Number(1-3 digit)”
Does this clarify? If not, please let me know.
Understood, but can multiple instances of the pattern occur within a single string? Can you provide an actual example to give some context?
Sure!
So it’s a unique category ID representing hierarchy and number.
Let’s take an example of hierarchy:
Household>> Pantry >> Chips & Snacks
Here
Household = Level 1 ( Number 2). ID=> 2
Pantry = Level 2 (Number 30). ID=> 2.30
Chips & Snacks = Level 3 (Number 5)=> ID 2.30.5
Maximum of 3 levels are possible. Meaning each category can have grandchildren ( SubSubCategory)
When the category ID with 3 levels, I want to be able to extract the ID of its parent. In the example above, when ID 2.30.5 is visible, I want to extract 2.30 out of it.
Multiple instances of the pattern would not occur within a single string.
Sorry if it still doesn’t clarify what you are asking.
Ok, so if you’re only ever dealing with a single occurrence of the pattern at a time, then the simple regex expression \d+\.\d+
should work.
Note that you should use :first item
after :extract with Regex
because the latter always returns a list of texts. In your case, there will only ever be one item in that list (if I understand correctly), so you could probably get by without the :first item
operator (because of Bubble’s auto type conversion), but it’s good practice (for self-documenting reasons) to use it anyway.
And if there’s a chance that white space could appear on either side of the pattern, you might want to throw in a :trimmed
operator before extracting with regex.
Thanks Steve. It solved the issue. Much Appreciated!