cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
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
Super User III
Super User III

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

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

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

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
Microsoft Ignite

Microsoft Ignite

Join digitally, March 2–4, 2021 to explore new tech that's ready to implement. Experience the keynote in mixed reality through AltspaceVR!

New Super Users

Meet the Power Automate Super Users!

Many congratulations to the Season 1 2021 Flownaut Crew!

Microsoft Ignite

Microsoft Power Platform: 2021 Release Wave 1 Plan

Power Platform release plan for the 2021 release wave 1 describes all new features releasing from April through September 2021.

MPA Community Blog

Power Automate Community Blog

Check out the community blog page where you can find valuable learning material from community and product team members!

Users online (24,496)