cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Kstuck
Frequent Visitor

Capitalize single Letter Abreviations Error

I'm pretty new to Power Automate so this is likely a pretty easy question but I'm struggling.

 

I have a flow I’m working on that will fill out a word document with some items from a Sharepoint list.

 

I noticed that the street addresses were all coming in as upper case and that does not make the forms look very professional.

 

So I needed to learn how to change the first letter to caps and the rest to lower case.

 

So I went searching and found this post

https://powerusers.microsoft.com/t5/Building-Flows/Capitalize-first-letter-in-string/td-p/241149

 

I also found this blog

http://benitezhere.blogspot.com/2020/10/how-to-do-proper-case-in-flow.html

 

So I decided to give the blog method a try.

 

And it worked the first few times I tried it.

 

Then I got to some addresses that had some single letter abbreviations.

 

Example: 7234 W MAIN STREET

 

The flow errors on the single letter abbreviation for west.

Main ErrorMain Error

I can see why it errors as the length of one minus 1 is not a valid length.

 

Any thoughts on how to fix it?

 

Some pics of my flow

Overall FlowOverall Flow

More FlowMore Flow

Getsvsaddr1 expression:

first(outputs('getdata')?['body']?['value'])?['ServiceAddress1']

 

addrtoarray expression:

split(toLower(outputs('getsvsaddr1')), ' ')

 

Here is where it fails

 

ErrorError

Expression for uppercasefirstletter:

concat(first(toupper(item())), substring(item(), 1, sub(length(item()), 1)))

 

I’m open to any other methods for doing this or suggestions on how to handle the single letter abbreviations.

 

Any help would be appreciated.

 

Thanks!

2 ACCEPTED SOLUTIONS

Accepted Solutions
Paulie78
Super User
Super User

Quite an interesting question and your explanation of why it crashes is spot on. Both of the methods you linked would error in the same way. Check out the following flow. Slightly simpler, also does not error:

CapitalizeEachWord.png

The expression in "Capitalize each word" is:

if
(
  equals(length(item()),1),
  toupper(item()),
  concat(first(toupper(item())),substring(item(),1,sub(length(item()),1)))  
)

Explanation:

Basically the same as before, but checks the length of each word, if it is only one character, then it just does "toupper". If it is more than one character is does all that concat business. 👍

View solution in original post

Kstuck
Frequent Visitor

I can't thank you enough Paulie78!

I spent hours working on a new expression to get this to work and never did get it.

Thanks again for your time and effort!

It is greatly appreciated!

P.S. Looks like I need to work on some of the forum features for posting code and flows.

View solution in original post

3 REPLIES 3
Paulie78
Super User
Super User

Quite an interesting question and your explanation of why it crashes is spot on. Both of the methods you linked would error in the same way. Check out the following flow. Slightly simpler, also does not error:

CapitalizeEachWord.png

The expression in "Capitalize each word" is:

if
(
  equals(length(item()),1),
  toupper(item()),
  concat(first(toupper(item())),substring(item(),1,sub(length(item()),1)))  
)

Explanation:

Basically the same as before, but checks the length of each word, if it is only one character, then it just does "toupper". If it is more than one character is does all that concat business. 👍

View solution in original post

Kstuck
Frequent Visitor

I can't thank you enough Paulie78!

I spent hours working on a new expression to get this to work and never did get it.

Thanks again for your time and effort!

It is greatly appreciated!

P.S. Looks like I need to work on some of the forum features for posting code and flows.

View solution in original post


@Kstuck wrote:

I can't thank you enough Paulie78!

I spent hours working on a new expression to get this to work and never did get it.

Thanks again for your time and effort!

It is greatly appreciated!

P.S. Looks like I need to work on some of the forum features for posting code and flows.


I think you do, you marked you own thank you message as the solution 🤣

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

Welcome Super Users.jpg

Super User Season 2

Congratulations, the new Super User Season 2 for 2021 has started!

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.

Top Solution Authors
Users online (1,463)