Power Query - 仅在某些字符后提取文本
Power Query - Extract Text after some chactacters only
我只想在第 5 个破折号之后获取文本,但是我尝试了一些方法仍然在 6 个破折号之后提取文本。
if Text.Contains([Column1],"-") and
Text.StartsWith([Column1],"- - - - - ")
then Text.AfterDelimiter([Column1],"- - - - - ")
else null
输入:
Raw column
----- Kitchen - IL
------ Self-serve
输出:
Raw column
Level 1
Level 2
----- Kitchen - IL
Kitchen - IL
null
------ Self-serve
null
Self-serve
小片段:
#"get Level 2" = Table.AddColumn(#"get Raw Column", "Level 2", each if Text.Contains([Raw column],"-") and
Text.StartsWith([Raw column],"------") then Text.AfterDelimiter([Raw column],"------") else null),
#"get Level 1" = Table.AddColumn(#"get Level 2", "Level 1", each if [Level 2] = null then if Text.Contains([Raw column],"-") and
Text.StartsWith([Raw column],"-----") then Text.AfterDelimiter([Raw column],"-----") else null else null),
#"Reorder Columns" = Table.ReorderColumns(#"get Level 1",{"Raw column", "Level 1", "Level 2"})
我只想在第 5 个破折号之后获取文本,但是我尝试了一些方法仍然在 6 个破折号之后提取文本。
if Text.Contains([Column1],"-") and
Text.StartsWith([Column1],"- - - - - ")
then Text.AfterDelimiter([Column1],"- - - - - ")
else null
输入:
Raw column |
---|
----- Kitchen - IL |
------ Self-serve |
输出:
Raw column | Level 1 | Level 2 |
---|---|---|
----- Kitchen - IL | Kitchen - IL | null |
------ Self-serve | null | Self-serve |
小片段:
#"get Level 2" = Table.AddColumn(#"get Raw Column", "Level 2", each if Text.Contains([Raw column],"-") and
Text.StartsWith([Raw column],"------") then Text.AfterDelimiter([Raw column],"------") else null),
#"get Level 1" = Table.AddColumn(#"get Level 2", "Level 1", each if [Level 2] = null then if Text.Contains([Raw column],"-") and
Text.StartsWith([Raw column],"-----") then Text.AfterDelimiter([Raw column],"-----") else null else null),
#"Reorder Columns" = Table.ReorderColumns(#"get Level 1",{"Raw column", "Level 1", "Level 2"})