• Hi All

    Please note that at the Chandoo.org Forums there is Zero Tolerance to Spam

    Post Spam and you Will Be Deleted as a User

    Hui...

  • When starting a new post, to receive a quicker and more targeted answer, Please include a sample file in the initial post.

Split small letters from a text string

AAP

Member
Hi,

I would like to separate small letters from a text string.
Ex:

Text String: ED276Ubiipx

Result Needed: biipx

I have attached a sample file.
 

Attachments

  • Sample File.xlsx
    9.4 KB · Views: 10
I came up with this Power Query solution
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Duplicated Column" = Table.DuplicateColumn(Source, "TEXT", "TEXT - Copy"),
    #"Split Column by Character Transition" = Table.SplitColumn(#"Duplicated Column", "TEXT - Copy", Splitter.SplitTextByCharacterTransition({"A".."Z"}, {"a".."z"}), {"TEXT - Copy.1", "TEXT - Copy.2"}),
    #"Split Column by Character Transition1" = Table.SplitColumn(#"Split Column by Character Transition", "TEXT - Copy.1", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"TEXT - Copy.1.1", "TEXT - Copy.1.2"}),
    #"Added Conditional Column" = Table.AddColumn(#"Split Column by Character Transition1", "Extract LowerCase", each if [#"TEXT - Copy.2"] = null then [#"TEXT - Copy.1.2"] else [#"TEXT - Copy.2"]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Conditional Column",{"TEXT - Copy.1.1", "TEXT - Copy.1.2", "TEXT - Copy.2"})
in
    #"Removed Columns"
Not sure it would cover all cases though.

EDIT: Slightly improved code could be (used in attached file)
Code:
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Duplicated Column" = Table.DuplicateColumn(Source, "TEXT", "TEXT - Copy"),
    #"Split Column by Character Transition" = Table.SplitColumn(#"Duplicated Column", "TEXT - Copy", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"TEXT - Copy.1", "TEXT - Copy.2"}),
    #"Added Prefix" = Table.TransformColumns(#"Split Column by Character Transition", {{"TEXT - Copy.2", each "A" & _, type text}}),
    #"Split Column by Character Transition1" = Table.SplitColumn(#"Added Prefix", "TEXT - Copy.2", Splitter.SplitTextByCharacterTransition({"A".."Z"}, {"a".."z"}), {"TEXT - Copy.2.1", "TEXT - Copy.2.2"}),
    #"Removed Columns" = Table.RemoveColumns(#"Split Column by Character Transition1",{"TEXT - Copy.1", "TEXT - Copy.2.1"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"TEXT - Copy.2.2", "Extract"}})
in
    #"Renamed Columns"
 

Attachments

  • ExtractLowerCase - Sample File.xlsx
    18.8 KB · Views: 5
Last edited:
Back
Top