Как мне найти список символов в тексте - PullRequest
1 голос
/ 29 мая 2019

Мне нужно искать неанглийский текст в текстовых полях в Power Query.Некоторые языки имеют специальные символы, которые могут быть доступны для поиска в текстовом поле, и, если они найдены, то это текстовое поле является неанглийским.

Я пытался найти конкретные символы языка, такие как «é» или"ä" и т. д. Но я знаю, что для поиска каждого символа используется только функция условного столбца, и, если он найден, он дает значение "0", чем позже. Я умножаю все условные столбцы, и если это значение равно 0, тогда текст не на английском языке, если онэто «1», тогда это английский.

= Table.AddColumn(#"Added Conditional Column13", "Custom É", each if Text.Contains([Text 1], "É") then 0 else if Text.Contains([Text 2], "É") then 0 else if Text.Contains([Text 3], "É") then 0 else 1)

Есть ли решение для поиска в списке специальных символов в текстовых полях (например, «ÁáÉéÖöÜüäß») -> поиск> результаты «0», если кто-либо найден вв противном случае текст выводится как «1».

Ответы [ 2 ]

4 голосов
/ 29 мая 2019

Вы можете использовать List.ContainsAny, чтобы проверить, содержит ли список какие-либо значения из второго списка.

Объедините это с Text.ToList, чтобы разделить символы в список, и у вас получится что-то вроде:

= Table.AddColumn(#"Prior Step", "Contains Special Characters", each List.ContainsAny(Text.ToList([Values]),Text.ToList("ÁáÉéÖöÜüäß")), type logical)

Конечно, этот подход требует, чтобы вы предоставили список «специальных» символов, для которых вы хотите проверить. Вы можете перевернуть этот раунд и указать «английские» символы:

#"English Characters" = "abcdefghijklmnopqrstuvwxyz0123456789 ,.:;", // include all characters you consider "English"
#"Added Custom" = Table.AddColumn(#"Prior Step", "Contains Special Characters", each not List.ContainsAny(Text.ToList([Values]),List.Union({Text.ToList(#"English Characters"), Text.ToList(Text.Upper(#"English Characters"))})), type logical)
0 голосов
/ 29 мая 2019

Я бы посмотрел команду Range, find () о том, как искать символы в Excel.Я также использовал бы его в сочетании с VBA Strings и ASCII , который является всеми символами ASCII, распознаваемыми Excel

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...