cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
1000ghz
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

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.

View solution in original post

6 REPLIES 6
CNT
Super User
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)))

 

not_a_thing
Helper I
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

1000ghz
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)  

123456.JPG

 

 

 

 

 

 

 

 

 

 

 

 

 

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

a123456.JPG

 

 

 

 

 

 

 

 

 

 

 

 

 

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

ab123456.JPG

ganeshsanap
Memorable Member
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

Blog site 

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.

Thnx @not_a_thing,

"MID" function instead of "Left" in the second condition solved my problem! 😎

Helpful resources

Announcements
October Events

Mark Your Calendars

So many events that are happening this month - don't miss out!

Ignite 2022

WHAT’S NEXT AT MICROSOFT IGNITE 2022

Explore the latest innovations, learn from product experts and partners, level up your skillset, and create connections from around the world.

Power Apps Africa Challenge 2022

Power Apps Africa Challenge

Your chance to join an engaging competition of Power Platform enthusiasts.

Top Solution Authors
Top Kudoed Authors
Users online (3,042)