cancel
Showing results for
Did you mean: Frequent Visitor

## First char or first 2 chars !IsNumeric: HELP!

Dear all,

i'm in trouble with a simple function where i need to apply an IF based on the follow conditions:

IF 1st char is numeric -> write string as is   (123456789 -> 123456789)

IF 1st and 2nd chars are NOT numerics -> write string as is   (ab123456 -> ab123456)

IF 1st char is NOT numeric and 2nd char is numerics -> write string without 1st char   (a123456 -> 123456)

I know that i have to use IF, IsNumeric, Left, Right, Len but i missed myself...

1 ACCEPTED SOLUTION

Accepted Solutions  Helper I

You are right, there's an error in the code. Substitute this code

``!IsNumeric(Left(yourText,2))``

With this

``!IsNumeric(Mid(yourText,2,1))``

Left(string, 2) take the both 2 chars from the left. Mid(string, 2, 1) will take 1 char starting from 2nd char.

6 REPLIES 6  Super User

@1000ghz

Try this,

``````If(IsNumeric(Left(yourText,1)) || !IsNumeric(Left(yourText,2)) ,yourText,
If(!IsNumeric(Left(yourText,1)), Right(yourText,Len(yourText)-1)))``````  Helper I

@CNThas provided a solution that should work, but what you basically have is only 1 condition for string modification: remove first char if it's not numeric, when at the same time the 2nd char is numeric. So:

``If(!IsNumeric(Left(yourText,1)) && IsNumeric(Left(yourText,2)), Right(yourText,Len(yourText)-1), yourText)``

same thing, only shorter Frequent Visitor

Hi @not_a_thing and @CNT thank you so much for help but no all conditions are satisfied with your codes.

In particular when i have 1st and 2nd not numeric char like in the examples below.

What's wrong?

✔️ IF 1st char is numeric -> write string as is   (123456789 -> 123456789) ✔️  IF 1st char is NOT numeric and 2nd char is numerics -> write string without 1st char   (a123456 -> 123456) ✖️  IF 1st and 2nd chars are NOT numerics -> write string as is   (ab123456 -> ab123456)   Memorable Member

@1000ghz Try something like this:

``````If(
IsNumeric(Left(TextInput.Text, 1)) || !IsNumeric(Left(TextInput.Text, 2)), TextInput.Text,
!IsNumeric(Left(TextInput.Text, 1)), Right(TextInput.Text, Len(TextInput.Text) - 1)
)``````

Please click Accept as solution & ‌‌👍 if my answer helped you to solve your issue. This will help others to find the correct solution easily. If the answer was useful in other ways, please consider giving it ‌‌👍

Best Regards,

Ganesh Sanap  Helper I

You are right, there's an error in the code. Substitute this code

``!IsNumeric(Left(yourText,2))``

With this

``!IsNumeric(Mid(yourText,2,1))``

Left(string, 2) take the both 2 chars from the left. Mid(string, 2, 1) will take 1 char starting from 2nd char. Frequent Visitor

Thnx @not_a_thing,

"MID" function instead of "Left" in the second condition solved my problem! 😎 Announcements #### Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community. #### Introducing the Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers. Top Solution Authors
Top Kudoed Authors
Users online (4,058)