Kalmomi na yau da kullun (RegExp) a cikin Query Query

Idan kun kasance aƙalla ɗan saba da maganganun yau da kullun, to ba kwa buƙatar tallata su. Idan ba ku da yawa a cikin batun, to, maganganu na yau da kullum (Magana na yau da kullum = RegExp = "regexps" = "na yau da kullum") harshe ne inda, ta amfani da haruffa na musamman da ka'idoji, ana neman ƙananan igiyoyi masu mahimmanci a cikin rubutun, ana fitar da su. ko maye gurbinsu da wani rubutu . Wannan kayan aiki ne mai ƙarfi da kyan gani, tsari ne na girma sama da duk sauran hanyoyin aiki da rubutu.

Na riga na bayyana dalla-dalla kuma tare da tarin misalai daga rayuwa yadda zaku iya ƙara tallafin magana na yau da kullun zuwa Excel ta amfani da macros masu sauƙi - idan ba ku karanta wannan labarin ba, Ina ba da shawarar ku karanta shi kafin ci gaba. Za ku gano sabbin abubuwa da yawa, na ba da garantin 🙂

Koyaya, tambayar ta kasance a buɗe - yadda ake ƙara ikon yin amfani da maganganun yau da kullun a cikin Query Query? Tambayar wutar lantarki, ba shakka, yana da kyau a kan kansa kuma yana iya yin abubuwa da yawa tare da rubutu (yanke, gluing, tsaftacewa, da dai sauransu), amma idan za ku iya ƙetare shi tare da ikon maganganun yau da kullum, zai zama bam kawai.

Abin takaici, babu ayyukan ginanniyar aiki don aiki tare da RegExps a cikin Query Query, da taimakon Microsoft na hukuma da goyan bayan fasaha sun amsa wannan tambayar a cikin mara kyau. Duk da haka, akwai wata hanya a kusa da wannan iyakance 🙂

Jigon hanyar

Babban ra'ayi mai sauƙi ne don kunya.

A cikin jerin abubuwan da aka gina na Ƙarfin Query, akwai aiki Shashen yanar gizo. Bayanin wannan aikin akan shafin taimakon Microsoft na hukuma yana da taƙaitaccen bayani:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Fassara, wannan zai zama: "Yana mayar da abubuwan da ke cikin takaddar HTML ɗin da aka ruguje zuwa tsarin sassanta, da kuma wakilcin cikakkiyar takaddar da jikinta bayan an cire alamun." Don haka bayanin, gaskiya.

Yawancin lokaci ana amfani da wannan aikin lokacin shigo da bayanai daga gidan yanar gizon kuma ana canza shi ta atomatik, misali, lokacin da muka zaɓa akan shafin. data umurnin Daga Intanet (Data - Daga gidan yanar gizo). Muna ba aikin shafin yanar gizon a matsayin hujja, kuma yana mayar da abubuwan da ke ciki zuwa gare mu a cikin nau'i na tebur, bayan share duk alamun.

Abin da taimakon bai faɗi ba shine ƙari ga yaren alamar HTML aiki Shashen yanar gizo yana goyan bayan rubutun JavaScript, wanda a yanzu ya zama ruwan dare a gidajen yanar gizo a Intanet. Kuma JavaScript, bi da bi, ya kasance koyaushe yana iya yin aiki tare da maganganun yau da kullun kuma yana da ayyukan ginannun don RegExps! Don haka don aiwatar da maganganu na yau da kullun a cikin Query Query, za mu buƙaci ciyar da Ayyukan Yanar Gizo a matsayin hujja ga ƙaramin shirin JavaScript wanda zai yi duk aikin don Query Query.

Yadda yake kama da JavaScript mai tsafta

Akwai cikakkun bayanai dalla-dalla kan aiki tare da maganganu na yau da kullun a cikin JavaScript akan Intanet (misali, ɗaya, biyu).

A takaice kuma a sauƙaƙe, lambar JavaScript za ta yi kama da haka:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Nan:

  • var str = 'Biyan kuɗi 123 da 789 don tsiran alade'; – ƙirƙirar m str kuma mu sanya masa rubutun tushen da za mu bincika.
  • var tsarin = /d+/gi; – ƙirƙiri magana ta yau da kullun kuma sanya shi a cikin mai canzawa tsari.

    Maganar tana farawa da slash (/).

    Maganar kanta a nan, alal misali, ita ce d+ yana tsaye ga kowane jerin lambobi.

    Ta hanyar juzu'i bayan magana, akwai ƙarin sigogin bincike (masu gyara) - ana iya ƙayyade su a kowane tsari:

    • g - yana nufin bincike na duniya, watau bayan gano wasa, kada ku tsaya, amma ku ci gaba da bincike har zuwa ƙarshen rubutun. Idan ba a saita wannan mai gyara ba, to rubutun mu zai dawo wasan farko ne kawai (123)
    • i – bincika ba tare da la’akari da yanayin haruffa ba
    • m - Binciken layuka da yawa (amfani da lokacin da aka raba rubutun tushen zuwa layi da yawa)
  • var sakamako = str.match (tsarin).haɗa(';'); - Yi bincike a cikin rubutun tushe (str) ta hanyar magana akai-akai (tsari) kuma sanya sakamakon a cikin mai canzawa sakamakon, haɗa su da semicolon ta amfani da umarnin shiga
  • document.rubutu(sakamako); – Nuna abubuwan da ke cikin canjin sakamako

Hakanan lura cewa igiyoyin rubutu (ban da maganganu na yau da kullun) a cikin JavaScript an rufe su a cikin rafuffu, ba ƙa'idodi ba kamar yadda suke cikin Query Query ko VBA.

A wurin fitarwa, wannan rubutun zai bamu sakamakon duk lambobin da aka samo a cikin rubutun tushe:

123, 789

Gajerun kwas ɗin JavaScript ya ƙare, na gode duka. Fata ku sami dabaru 🙂

Ya rage don canja wurin wannan ginin zuwa Query Query.

Bincika da Cire Ayyukan Rubutu ta Bayyanawa akai-akai a cikin Tambayar Wuta

Muna yin haka:

1. Bude Excel kuma ƙirƙirar sabon Tambayoyin Wutar Wuta a cikin shafin Bayanai - Sami bayanai / Ƙirƙiri buƙatun - Daga wasu tushe - Buƙatun fanko (Bayani - Samun bayanai / Sabuwar tambaya - Daga wasu tushe - tambaya mara kyau). Idan kuna da tsohuwar sigar Excel 2010-2013 da Query Query ba ku da ginanniyar ciki, amma an shigar da ku azaman ƙari daban, to duk wannan zai kasance akan shafin. Tambayar .arfiKuma ba data.

2. A cikin taga babu komai na editan tambaya da ke buɗewa, a cikin ɓangaren dama, nan da nan shigar da sunan aikin mu na gaba (misali, fxRegExpExtract)

Kalmomi na yau da kullun (RegExp) a cikin Query Query

3. Mu je shafin Duba – Babban Edita (Duba - Babban Edita), muna share duk M-code na buƙatun mara komai kuma muna liƙa lambar babban aikin mu a can:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Kalli hannuwanku:

A cikin layin farko, mun ce aikinmu zai kasance yana da gardama na rubutu guda uku: txt - ainihin rubutun da ake nazarinsa, regex - tsarin magana na yau da kullun, delim - ƙayyadadden hali don nuna sakamako.

Na gaba muna kiran aikin Shashen yanar gizo, samar da lambar JavaScript da aka bayyana a sama a cikin hujjarsa. Muna liƙa kuma mu maye gurbin mahawarar mu a cikin lambar.

Juzu'i:

[Bayanai]{0}[Yara]{0}[Yara]{1}[Text]{0}

… ana buƙata don “fadi” cikin tebur tare da sakamakon da muke buƙata. Ma'anar ita ce aikin Shashen yanar gizo a sakamakon haka, yana samar da teburi masu yawa da yawa waɗanda ke maimaita tsarin shafin yanar gizon. Idan ba tare da wannan yanki na M-code ba, aikinmu zai fitar da wannan:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

… kuma dole ne mu danna kalmar sau da yawa Table, jere "faɗuwa ta hanyar" cikin tebur na gida na yara a cikin ginshiƙai yara:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Maimakon duk wannan zance, nan da nan za mu nuna a cikin lambar aikinmu wanda ke da tebur da shafi (Text) muna bukata.

Anan, a gaskiya, duk asirin ne. Ya rage don danna maɓallin Gama a cikin taga babban edita, Inda muka shigar da lambar mu, kuma za ku iya ci gaba zuwa mafi dadi - gwada aikin mu a wurin aiki.

Ga wasu misalan iri guda biyu.

Misali 1. Maido da lambar asusun da kwanan wata daga bayanin biyan kuɗi

Muna da bayanin banki tare da bayanin (manufa) na biyan kuɗi, inda kuke buƙatar fitar da lambobi da kwanakin kuɗin da aka biya zuwa ginshiƙai daban-daban:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Muna ɗora teburin cikin Query Query a daidaitaccen hanya ta hanyar Bayanai - Daga Tebur / Range (Data - Daga Tiya/Rmala'ika).

Sa'an nan kuma mu ƙara ginshiƙi ƙididdiga tare da aikin mu ta hanyar Ƙara ginshiƙi - Aikin Al'ada na Kira (Ƙara Shagon - Kira Aiki na Musamman) kuma ku shigar da hujjojinsa:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

A matsayin magana ta yau da kullun (hujja regexSamfurin da muke amfani da shi:

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

… fassara zuwa ma'anar harshen ɗan adam: 

lambobi daga lambobi 3 zuwa 5 (lambobin asusu)

or

guntuwar nau'in "lambar 2-bit - maki - lambar 2-bit - maki - lambar 4-bit", wato, kwanakin sigar DD.MM.YYYY.

A matsayin hali mai iyaka (hujja delim) shigar da semicolon.

Bayan danna kan OK Aikin mu na sihiri yana nazarin duk bayanan farko bisa ga bayanin mu na yau da kullun kuma ya samar mana da shafi tare da lambobi da kwanakin da aka samu na rasitan:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Ya rage don raba shi da semicolon ta amfani da umarnin Gida - Rarraba ginshiƙi - Ta Iyakance (Gida - Raba shafi - Ta hanyar iyakance) kuma muna samun abin da muke so:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Kyawawan kai!

Misali 2: Cire adiresoshin imel daga rubutu

A ce muna da tebur mai zuwa azaman bayanan farko:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

... daga inda muke buƙatar fitar da adiresoshin imel da aka samo a wurin (don haske, na haskaka su da ja a cikin rubutun).

Kamar yadda yake a cikin misalin da ya gabata, muna ɗora teburin cikin Query Query a daidaitacciyar hanya ta hanyar Bayanai - Daga Tebur / Range (Data - Daga Tiya/Rmala'ika).

Sa'an nan kuma mu ƙara ginshiƙi ƙididdiga tare da aikin mu ta hanyar Ƙara ginshiƙi - Aikin Al'ada na Kira (Ƙara Shagon - Kira Aiki na Musamman) kuma ku shigar da hujjojinsa:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Fassarar adiresoshin imel shine aiki mafi wahala kuma akwai tarin maganganu na yau da kullun na mabambantan mafarkai na mafarki don warware shi. Na yi amfani da ɗaya daga cikin zaɓuɓɓuka masu sauƙi - ba manufa ba, amma yana aiki sosai a mafi yawan lokuta:

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

A matsayin mai raba (delim) za ka iya shigar da semicolon da sarari.

Click a kan OK kuma muna samun shafi mai adiresoshin imel da aka ciro daga ainihin rubutun “porridge”:

Kalmomi na yau da kullun (RegExp) a cikin Query Query

Sihiri!

PS

Kamar yadda ake cewa: "Babu wani abu mai kyau da ba za a iya inganta shi ba." Tambayar wutar lantarki yana da sanyi da kanta, kuma idan an haɗa shi tare da maganganu na yau da kullun, yana ba mu cikakken iko mara gaskiya da sassauci wajen sarrafa kowane bayanan rubutu. Ina fata Microsoft wata rana za ta ƙara tallafin RegExp a cikin Tambayoyin Power da sabuntawa na Power BI kuma duk raye-rayen da ke sama tare da tambourine za su zama tarihi. To, a yanzu, eh.

Ina kuma so in ƙara cewa yana dacewa don yin wasa tare da maganganu na yau da kullum akan shafin https://regexr.com/ - daidai a cikin editan kan layi. Can cikin sashin Tsarin Al'umma Akwai adadi mai yawa na shirye-shiryen yanayi na yau da kullun don kowane lokatai. Gwaji - duk ikon maganganun yau da kullun yana kan sabis ɗin ku a cikin Query Query!

  • Menene maganganun yau da kullun (RegExp) da yadda ake amfani da su a cikin Excel
  • Binciken rubutu mai ban mamaki a cikin Query Query
  • Haɗa tebur daga fayiloli daban-daban ta amfani da Query Query

Leave a Reply