Hello @KimC,
Thank You for posting your query onto the Forum. Paste the below provided code into the blank query -
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("rdLLTsMwEAXQf8kaK/PwOPYSJW2BqolCWaRUWbDoulIFIp+P8yhEptQgsbTu0cy17P0+Kbb5E61zVkW1AsmrsgYmYdJGASXtzShwEIscdHl47wkKmkwU4N0vzOLTRDf1+WpTAE4zvCBCP+Ma0FkMzCdMRQtPxhIsmtEGI5qmOedo/T1glqc9qHc1YOqXpN6QJ8ZxzIB17j9MsCvW98rTVH8xl7oQG4rdGyQz8HNftuzAzPvS+jnyIQexvN+GggPxeBsK/SU2l7fIKL4HZgjEOoKpChJbx/xQDici1XUyJWr5cjoc317Pzkddl7TtBw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [PO = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"PO", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each if Text.Contains([PO], "KC3-") then "KC3-" else if Text.Contains([PO], "KZ3-") then "KZ3-" else "-"),
#"Inserted Text After Delimiter" = Table.AddColumn(#"Added Custom", "Text After Delimiter", each Text.AfterDelimiter([PO], "-"), type text),
#"Inserted First Characters" = Table.AddColumn(#"Inserted Text After Delimiter", "First Characters", each Text.Start([Text After Delimiter], 5), type text),
#"Added Custom1" = Table.AddColumn(#"Inserted First Characters", "Custom.1", each if [Custom] = "KC3-" then [Custom] & [First Characters] else
if [Custom] = "KZ3-" then [Custom] & [First Characters]
else "-"),
#"Removed Columns1" = Table.RemoveColumns(#"Added Custom1",{"Custom", "Text After Delimiter", "First Characters"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Custom.1", "New Column"}}),
#"Changed Type2" = Table.TransformColumnTypes(#"Renamed Columns",{{"New Column", type text}})
in
#"Changed Type2"
Once you paste the code, you’ll get the desired results. Below is the screenshot of the final results provided for the reference -
I’m also attaching the working of the PBIX file so that you can go through the steps applied in the Power Query for the reference purposes.
Hoping you find this useful and meets your requirements that you’ve been looking for. 
Thanks and Warm Regards,
Harsh
Extract Data Out Of String - Harsh.pbix (16.1 KB)