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

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.


@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
Power Automate News & Announcements

Power Automate News & Announcements

Keep up to date with current events and community announcements in the Power Automate community.

Community Calls Conversations

Community Calls Conversations

A great place where you can stay up to date with community calls and interact with the speakers.

Power Automate Community Blog

Power Automate Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Users online (2,061)