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
Community Champion
Community Champion

@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
Super User
Super User

@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.

View solution in original post

Thnx @not_a_thing,

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

Helpful resources

Announcements
PA_User Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Power Query PA Forum 768x460.png

Check it out!

Did you know that you can visit the Power Query Forum in Power BI and now Power Apps

Carousel 2021 Release Wave 2 Plan 768x460.jpg

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Users online (2,356)