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
MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

Power automate tips 768x460 v2.png

Restore a Deleted Flow

Did you know that you could restore a deleted flow? Check out this helpful article.

Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Users online (2,980)