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.

#### Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (4,058)