Fa'amatalaga masani (RegExp) ile Power Query

Afai e te masani i faʻamatalaga masani, ona e le manaʻomia lea ona faʻasalalau. Afai e te le o atoatoa i le mataupu, ona faʻaalia lea o faʻamatalaga masani (Regular Expressions = RegExp = "regexps" = "regulars") o se gagana lea, e faʻaaoga ai mataitusi faʻapitoa ma tulafono, o loʻo suʻesuʻeina ia substrings talafeagai i totonu o le tusitusiga, e maua mai. pe suia i isi tusitusiga . O se meafaigaluega sili ona mamana ma matagofie, o se faʻatonuga o le maualuga e sili atu nai lo isi auala uma e galue ai ma tusitusiga.

Ua uma ona ou faʻamatalaina auʻiliʻili ma faʻatasi ai ma le tele o faʻataʻitaʻiga mai le olaga pe faʻapefea ona e faʻaopoopoina faʻamatalaga masani lagolago i Excel e faʻaaoga ai macros faigofie - afai e te leʻi faitauina lenei tusiga, ou te matua fautuaina e te faitau i ai aʻo leʻi faʻaauau. O le ae mauaina le tele o mea fou, ou te mautinoa 🙂

Ae ui i lea, o loʻo tumau pea le fesili - faʻafefea ona faʻaopoopo le tomai e faʻaaoga ai faʻamatalaga masani i le Power Query? O le Power Query, ioe, e lelei na o ia lava ma e mafai ona tele mea e fai i tusitusiga (tipi, faʻapipiʻi, faʻamamaina, ma isi), ae afai e mafai ona e sopoia ma le mana o faʻamatalaga masani, o le a na o se pomu.

Ae paga lea, e leai ni galuega faufale mo le galulue faatasi ma RegExps i le Power Query, ma o le fesoasoani a Microsoft ma le lagolago faʻapitoa e taliina lenei fesili i le le lelei. Ae ui i lea, o loʻo i ai se auala i lenei tapulaʻa 🙂

Le fatu o le metotia

O le manatu autu e faigofie i le faalumaina.

I le lisi o mea e mafai ona fausia i le Power Query, o loʻo i ai se galuega Upega. Itulau. O le faʻamatalaga o lenei galuega i luga o le ofisa fesoasoani a Microsoft e matua manino lava:

Fa'amatalaga masani (RegExp) ile Power Query

Fa'aliliuina, o le: "Fa'afo'i mea o lo'o i totonu o le pepa HTML ua fa'amavae i ona vaega fa'avae, fa'apea fo'i ma se fa'atusa o le pepa atoa ma lona tino pe a uma ona aveese fa'ailoga." Faʻamatalaga faʻapea, saʻo.

E masani lava o lenei galuega e faʻaaogaina pe a faʻauluina faʻamatalaga mai le upega tafaʻilagi ma e otometi lava ona suitulaga, mo se faʻataʻitaʻiga, pe a matou filifilia i luga o le tab. Faʻamatalaga faʻatonuga Mai le Initaneti (Fa'amatalaga - Mai le upegatafa'ilagi). Matou te tuʻuina atu le galuega i luga o le upega tafaʻilagi e fai ma finauga, ma toe faʻafoʻi mai mea o loʻo i totonu ia i matou i foliga o laulau, ua uma ona faʻamalo uma pine.

O le a le mea e le'o fai mai e le fesoasoani o le faʻaopoopoga i le HTML faʻailoga gagana galuega tauave Upega. Itulau lagolago JavaScript scripts, lea ua i ai nei i luga o upega tafaʻilagi i luga ole Initaneti. Ma o le Javascript, i le isi itu, ua mafai lava ona galue i faʻamatalaga masani ma faʻapipiʻiina galuega mo RegExps! O lea e faʻatino ai faʻamatalaga masani i le Power Query, matou te manaʻomia le fafagaina o le Web.Page galuega e fai ma finauga i se polokalame JavaScript laʻititi o le a faia uma galuega mo le Power Query.

O le a le foliga i le JavaScript mama

O loʻo i ai le tele o faʻamatalaga auʻiliʻili i le galue ma faʻamatalaga masani i le JavaScript i luga ole Initaneti (mo se faʻataʻitaʻiga, tasi, lua).

I se faapuupuuga ma faigofie, o le JavaScript code o le a pei o lenei:

Fa'amatalaga masani (RegExp) ile Power Query

Iinei:

  • var str = 'Totogi pili 123 ma le 789 mo sosisi'; – faia se fesuiaiga f ma atofa i ai le puna o tusitusiga o le a tatou iloiloina.
  • var mamanu = /d+/gi; – faia se fa'aaliga masani ma tu'u i se fesuiaiga mamanu.

    O le fa'aaliga e amata i le fa'a'ese (/).

    O le faaupuga lava ia iinei, mo se faataitaiga, o le d+ e tu mo soo se faasologa o numera.

    E ala i le vaega ninii pe a uma le faʻamatalaga, o loʻo i ai faʻaopoopoga suʻesuʻega (suia) - e mafai ona faʻamaonia i soʻo se faasologa:

    • g - o lona uiga o le suʻesuʻega i le lalolagi atoa, o lona uiga pe a uma ona e mauaina se fetaui, e le tatau ona e taofi, ae faʻaauau le sailiga seia oʻo i le faaiuga o le tusitusiga. Afai e le o setiina lenei suiga, ona toe faʻafoʻi mai lea e la matou tusitusiga le fetaui muamua (123)
    • i – su'esu'e e aunoa ma le fa'atatau i mata'itusi
    • m - su'esu'ega tele-laina (fa'aaogaina pe a vaevaeina le fa'amatalaga autu i ni laina)
  • var result = str.match(mamanu).join(';'); - fai se su'esu'ega i le fa'apogai o tusitusiga (f) e ala i le fa'aaliga masani (mamanu) ma tuu iʻuga i se fesuiaiga iʻuga, fa'apipi'iina i se semicolon e fa'aaoga ai le fa'atonuga auai
  • document.write(i'uga); – fa'aali mea o lo'o i totonu o le suiga o le i'uga

Ia maitauina foi o laina o tusitusiga (e le aofia ai faʻamatalaga masani) i le JavaScript o loʻo faʻapipiʻiina i apostrophe, ae le o upusii e pei ona i ai i le Power Query poʻo le VBA.

I le gaioiga, o lenei tusitusiga o le a tuʻuina mai ia i matou o se taunuuga o numera uma o loʻo maua i le faʻamatalaga autu:

123, 789

Ua uma a'oa'oga pu'upu'u JavaScript, fa'afetai uma. Faamoemoe e te maua le manatu 🙂

O lo'o tumau pea le tu'uina atu o lenei faufale i le Power Query.

Su'esu'e ma Ave'ese Galuega Fa'amatalaga e ala i Fa'amatalaga masani ile Power Query

Matou te faia mea nei:

1. Tatala Excel ma fai se Su'esu'ega malosi fou i le fa'ailoga Faʻamatalaga - Maua faʻamatalaga / Fausia se talosaga - Mai isi punaoa - Talosaga gaogao (Fa'amatalaga - Maua fa'amatalaga / Su'esu'ega fou - Mai isi fa'apogai - Fesili avanoa). Afai ei ai sau kopi tuai o Excel 2010-2013 ma le Power Query e te leʻi fausia, ae na faʻapipiʻiina o se isi faʻaopoopoga, ona i ai lea o nei mea uma i luga o le laupepa. Malosiaga FesiliAe leai Faʻamatalaga.

2. I le faamalama avanoa o le faatonu o fesili e tatala, i le itu taumatau, faʻapipiʻi vave le igoa o la tatou galuega i le lumanaʻi (mo se faʻataʻitaʻiga, fxRegExpExtract)

Fa'amatalaga masani (RegExp) ile Power Query

3. Tatou o i le tab Va'ai - Fa'atonu Fa'atonu (Vaaiga — Fa'atonu Sili), matou te tapeina le M-code atoa o le talosaga gaogao ma faapipii le code o la matou superfunction iina:

Fa'amatalaga masani (RegExp) ile Power Query

Vaʻai ou lima:

I le laina muamua, matou te fai atu o la matou galuega o le ai ai ni faʻamatalaga e tolu: txt - o le uluai tusitusiga o loʻo suʻesuʻeina, regex - faiga fa'aalia masani, limasene - uiga fa'a'ese'ese mo le fa'aalia o taunu'uga.

Ona sosoo ai lea ma le ta'ua o le galuega Upega. Itulau, faia le code JavaScript o loʻo faʻamatalaina i luga i lana finauga. Matou te fa'apipi'i ma sui a matou finauga fesuisuia'i i totonu o le code.

Vaega:

[Fa'amatalaga]{0}[Tamaiti]{0}[Tamaiti]{1}[Text]{0}

… e manaʻomia e “paʻu ai” i le laulau ma iʻuga tatou te manaʻomia. O le manatu o le galuega Upega. Itulau o le i'uga, e maua mai ai ni laulau fa'amoega e toe fai ai le fausaga o se itulau uepi. A aunoa ma lenei fasi M-code, o la matou galuega o le a faia lenei:

Fa'amatalaga masani (RegExp) ile Power Query

… ma e tatau ona tatou kilikiina le upu i ni nai taimi laulau, faasolosolo "pa'u i totonu" i totonu o laulau faʻanofo a tamaiti i koluma fanau:

Fa'amatalaga masani (RegExp) ile Power Query

Nai lo o nei upusii uma, matou te vave faʻaalia i le code o la matou galuega lea e faʻapipiʻi ai le laulau ma le koluma (matua) matou te manaʻomia.

O iinei, o le mea moni, o mea lilo uma lava. E tumau pea e oomi le faamau faʻauma i le faamalama faatonu maualuga, lea na matou faʻapipiʻiina ai le matou code, ma e mafai ona e faʻaauau i le sili ona suamalie - faʻataʻitaʻi la matou galuega i le galuega.

O ni nai fa'ata'ita'iga fatu.

Faataitaiga 1. Toe maua mai le numera o le teugatupe ma le aso mai le faamatalaga o le totogiina

E iai a matou faʻamatalaga faletupe ma se faʻamatalaga (faʻamoemoega) o totogi, lea e te manaʻomia e toso ese ai numera ma aso o pili tupe totogi i koluma eseese:

Fa'amatalaga masani (RegExp) ile Power Query

Matou te utaina le laulau i le Power Query i le auala masani Faʻamatalaga - Mai Laulau / Vaʻaiga (Faʻamatalaga - Mai Tmafai/Ragelu).

Ona matou faaopoopo lea o se koluma fuafuaina ma la matou galuega e ala i Fa'aopoopo Koluma – Vala'au Galuega Fa'apitoa (Fa'aopoopo le Koluma — Ta'u le Fa'atinoga Fa'apitoa) ma ulufale i ana finauga:

Fa'amatalaga masani (RegExp) ile Power Query

E pei o se faaupuga masani (finauga regex) mamanu matou te faʻaaogaina:

(o{3,5}|d{2}.d{2}.d{4})

… faaliliuina i le gagana a tagata lona uiga: 

numera mai le 3 i le 5 numera (numera fa'amatalaga)

or

vaega o le fomu "numera 2-bit - numera - numera 2-bit - numera - numera 4-bit", o lona uiga, aso o le fomu DD.MM.YYYY.

I le avea ai o se uiga faʻagata (finauga limasene) ulufale i se semikona.

A maeʻa kiliki OK O la matou galuega fa'ataulāitu e su'esu'e uma fa'amaumauga muamua e tusa ai ma a matou fa'amatalaga masani ma fai se koluma mo i matou ma numera maua ma aso o pili:

Fa'amatalaga masani (RegExp) ile Power Query

O lo'o tumau pea le tu'ueseeseina e ala i le semicolon e fa'aaoga ai le fa'atonuga Fale — Vaevae Column — By Delimiter (Aiga — Vaevae koluma — I le va'aiga) ma matou maua le mea matou te manaʻo ai:

Fa'amatalaga masani (RegExp) ile Power Query

Matagofie!

Faataitaiga 2: Aveese tuatusi imeli mai tusitusiga

Fa'apea o lo'o i ai le matou laulau lenei e fai ma fa'amatalaga muamua:

Fa'amatalaga masani (RegExp) ile Power Query

... mai le mea tatou te manaʻomia e toso ese ai tuatusi imeli o loʻo maua iina (mo le manino, na ou faʻamamafaina i latou i le mumu i le tusitusiga).

E pei o le faʻataʻitaʻiga muamua, matou te utaina le laulau i le Power Query i le auala masani e ala i Faʻamatalaga - Mai Laulau / Vaʻaiga (Faʻamatalaga - Mai Tmafai/Ragelu).

Ona matou faaopoopo lea o se koluma fuafuaina ma la matou galuega e ala i Fa'aopoopo Koluma – Vala'au Galuega Fa'apitoa (Fa'aopoopo le Koluma — Ta'u le Fa'atinoga Fa'apitoa) ma ulufale i ana finauga:

Fa'amatalaga masani (RegExp) ile Power Query

O le fa'avasegaina o tuatusi imeli ose galuega e sili atu ona faigata ma o lo'o i ai le tele o fa'aaliga masani o tikeri eseese o miti taufaafefe e foia ai. Na ou faʻaaogaina se tasi o filifiliga faigofie - e le lelei, ae o loʻo galue i le tele o tulaga:

[w|.|-]*@w*.[w|.]*

E pei o se vavae (limasene) e mafai ona e ulufale i se semicolon ma se avanoa.

Kiliki OK ma matou maua se koluma ma tuatusi imeli na maua mai le uluaʻi tusitusiga "poridge":

Fa'amatalaga masani (RegExp) ile Power Query

Faʻataulaitu!

PS

E pei ona fai mai le upu: “E leai se mea lelei faapea e le mafai ona faaleleia atili.” O le Power Query e manaia na o ia, ma pe a tuʻufaʻatasia ma faʻamatalaga masani, e maua mai ai ia i tatou le malosi atoatoa ma le fetuutuunai i le faʻaogaina o soʻo se faʻamatalaga tusitusia. Ou te faʻamoemoe o le a iai se aso e faʻaopoopoina ai e Microsoft le RegExp lagolago i le Power Query ma le Power BI faʻafouina ma o siva uma o loʻo i luga ma se topa o le a avea ma mea o le taimi ua tuanaʻi. Ia, mo le taimi nei, ioe.

Ou te manaʻo foʻi e faʻaopopo e faigofie le taʻalo ma faʻamatalaga masani i luga o le upega tafaʻilagi https://regexr.com/ - saʻo i le tusitala i luga ole laiga. O iina i le vaega Fa'asologa o Nuu E i ai se numera tele o vaitau masani ua saunia mo taimi uma. Fa'ata'ita'iga - o le malosi uma o fa'amatalaga masani o lo'o i lau auaunaga i le Power Query!

  • O a faʻamatalaga masani (RegExp) ma pe faʻapefea ona faʻaogaina i Excel
  • Su'esu'e fa'amatalaga i le Power Query
  • Fa'aopoopoina laulau mai faila eseese e fa'aaoga ai le Power Query

Tuua se tali