Regex ເພື່ອເອົາຕົວອັກສອນຫຼືຂໍ້ຄວາມບາງຢ່າງໃນ Excel

  • ແບ່ງປັນນີ້
Michael Brown
argument ໄດ້ຖືກລະເວັ້ນ, ທັງຫມົດທີ່ພົບໄດ້ຖືກໂຍກຍ້າຍອອກ. ເພື່ອລຶບຂໍ້ມູນທີ່ກົງກັນສະເພາະ, ໃຫ້ກຳນົດຕົວເລກຕົວຢ່າງ.

ໃນສະຕຣິງລຸ່ມນີ້, ສົມມຸດວ່າທ່ານຕ້ອງການລຶບໝາຍເລກລຳດັບທຳອິດ. ຕົວເລກດັ່ງກ່າວທັງໝົດເລີ່ມຕົ້ນດ້ວຍເຄື່ອງໝາຍ hash (#) ແລະມີ 5 ຕົວເລກແທ້. ດັ່ງນັ້ນ, ພວກເຮົາສາມາດລະບຸພວກມັນໄດ້ໂດຍໃຊ້ regex ນີ້:

Pattern : #\d{5}\b

ຄຳວ່າ boundary \b ກຳນົດວ່າສະຕຣິງຍ່ອຍທີ່ກົງກັນບໍ່ສາມາດເປັນໄດ້. ສ່ວນໜຶ່ງຂອງສະຕຣິງທີ່ໃຫຍ່ກວ່າເຊັ່ນ #10000001.

ເພື່ອລຶບຂໍ້ມູນທີ່ກົງກັນທັງໝົດ, argument instance_num ບໍ່ໄດ້ຖືກກຳນົດ:

=RegExpReplace(A5, "#\d{5}\b", "")

ເພື່ອລົບລ້າງພຽງແຕ່ການປະກົດຕົວຄັ້ງທໍາອິດ, ພວກເຮົາຕັ້ງ instance_num argument ເປັນ 1:

=RegExpReplace(A5, "#\d{5}\b", "", 1)

Regex ເພື່ອເອົາຕົວອັກສອນບາງຕົວອອກ

ເພື່ອຖອດຕົວອັກສອນບາງຕົວອອກຈາກສະຕຣິງ, ພຽງແຕ່ຂຽນຕົວອັກສອນທີ່ບໍ່ຕ້ອງການທັງໝົດ ແລະແຍກພວກມັນອອກດ້ວຍແຖບຕັ້ງ.syntax ທີ່ບໍ່ມີຂໍ້ຈໍາກັດຂອງ VBA RegExp, ແລະອັນທີສອງ, ບໍ່ຈໍາເປັນຕ້ອງໃສ່ລະຫັດ VBA ໃດໆໃນປື້ມບັນທຶກຂອງທ່ານຍ້ອນວ່າການລວມລະຫັດທັງຫມົດແມ່ນເຮັດໂດຍພວກເຮົາຢູ່ໃນ backend.

ສ່ວນຫນຶ່ງຂອງວຽກຂອງທ່ານແມ່ນເພື່ອສ້າງການສະແດງອອກປົກກະຕິແລະ ຮັບໃຊ້ມັນໃຫ້ກັບຟັງຊັນ :) ໃຫ້ຂ້ອຍສະແດງວິທີເຮັດແນວນັ້ນໃນຕົວຢ່າງພາກປະຕິບັດ.

ວິທີລຶບຂໍ້ຄວາມໃນວົງເລັບ ແລະວົງເລັບໂດຍໃຊ້ regex

ໃນສະຕຣິງຂໍ້ຄວາມຍາວ, ຂໍ້ມູນທີ່ມີຄວາມສໍາຄັນຫນ້ອຍ. ມັກຈະຖືກຫຸ້ມຢູ່ໃນ [ວົງເລັບ] ແລະ (ວົງເລັບ). ເຈົ້າເອົາລາຍລະອຽດທີ່ບໍ່ກ່ຽວຂ້ອງເຫຼົ່ານັ້ນໄປຮັກສາຂໍ້ມູນອື່ນໆທັງໝົດໄດ້ແນວໃດ?

ໃນຄວາມເປັນຈິງແລ້ວ, ພວກເຮົາໄດ້ສ້າງ regex ທີ່ຄ້າຍຄືກັນສໍາລັບການລຶບແທັກ html, ເຊັ່ນ: ຂໍ້ຄວາມພາຍໃນວົງເລັບມຸມ. ແນ່ນອນ, ວິທີການດຽວກັນຈະໃຊ້ໄດ້ກັບວົງເລັບສີ່ຫຼ່ຽມ ແລະ ວົງມົນ.

ຮູບແບບ : (\.*?\))

ທ່ານເຄີຍຄິດບໍ່ວ່າ Excel ຈະມີປະສິດທິພາບຂະໜາດໃດ ຖ້າຜູ້ໃດຜູ້ໜຶ່ງສາມາດເສີມສ້າງກ່ອງເຄື່ອງມືຂອງຕົນດ້ວຍການສະແດງອອກເປັນປົກກະຕິ? ພວກເຮົາບໍ່ພຽງແຕ່ຄິດແຕ່ເຮັດວຽກກັບມັນ :) ແລະດຽວນີ້, ທ່ານສາມາດເພີ່ມຟັງຊັນ RegEx ທີ່ດີເລີດນີ້ໃສ່ປຶ້ມວຽກຂອງເຈົ້າເອງ ແລະລຶບຂໍ້ຄວາມຍ່ອຍທີ່ກົງກັບຮູບແບບໃນບໍ່ດົນນີ້!

ອາທິດທີ່ຜ່ານມາ, ພວກເຮົາໄດ້ເບິ່ງ ໃນວິທີການໃຊ້ expression ປົກກະຕິເພື່ອທົດແທນ strings ໃນ Excel. ສໍາລັບການນີ້, ພວກເຮົາໄດ້ສ້າງຫນ້າທີ່ກໍາຫນົດເອງ Regex Replace. ຍ້ອນວ່າມັນໄດ້ຫັນອອກ, ຟັງຊັນເກີນກວ່າການນໍາໃຊ້ຕົ້ນຕໍຂອງມັນແລະບໍ່ພຽງແຕ່ສາມາດທົດແທນສາຍແຕ່ຍັງເອົາພວກມັນອອກ. ມັນເປັນໄປໄດ້ແນວໃດ? ໃນແງ່ຂອງ Excel, ການຖອນຄ່າແມ່ນບໍ່ມີຫຍັງນອກ ເໜືອ ຈາກການທົດແທນມັນດ້ວຍສະຕຣິງຫວ່າງເປົ່າ, ບາງສິ່ງບາງຢ່າງທີ່ຟັງຊັນ Regex ຂອງພວກເຮົາແມ່ນດີຫຼາຍ!

ຟັງຊັນ VBA RegExp ເພື່ອເອົາສາຍຍ່ອຍໃນ Excel

ດັ່ງ​ທີ່​ພວກ​ເຮົາ​ທຸກ​ຄົນ​ຮູ້​ວ່າ​, ການ​ສະ​ແດງ​ອອກ​ປົກ​ກະ​ຕິ​ແມ່ນ​ບໍ່​ໄດ້​ສະ​ຫນັບ​ສະ​ຫນູນ​ໃນ Excel ໂດຍ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​. ເພື່ອເປີດໃຊ້ພວກມັນ, ທ່ານຈໍາເປັນຕ້ອງສ້າງຫນ້າທີ່ກໍານົດໂດຍຜູ້ໃຊ້ຂອງທ່ານເອງ. ຂ່າວດີແມ່ນວ່າຟັງຊັນດັ່ງກ່າວໄດ້ຖືກຂຽນແລ້ວ, ທົດສອບ, ແລະກຽມພ້ອມສໍາລັບການນໍາໃຊ້. ສິ່ງທີ່ທ່ານຕ້ອງເຮັດຄືການສຳເນົາລະຫັດນີ້, ວາງໃສ່ໃນຕົວແກ້ໄຂ VBA ຂອງທ່ານ, ແລະຈາກນັ້ນບັນທຶກໄຟລ໌ຂອງທ່ານເປັນ ປຶ້ມວຽກທີ່ເປີດໃຊ້ Macro (.xlsm).

ຟັງຊັນມີ syntax ຕໍ່ໄປນີ້:

RegExpReplace(ຂໍ້ຄວາມ, ຮູບແບບ, ການທົດແທນ, [instance_num], [match_case])

ຕ້ອງການສາມ argument ທໍາອິດ, ສອງອັນສຸດທ້າຍແມ່ນທາງເລືອກ.

ຢູ່ໃສ:

  • ຂໍ້ຄວາມ - ຂໍ້ຄວາມເພື່ອຄົ້ນຫາເປັນໄປໄດ້ຈົນກ່ວາມັນຊອກຫາວົງເລັບປິດ.

ບໍ່ວ່າທ່ານຈະເລືອກຮູບແບບໃດ, ຜົນໄດ້ຮັບຈະຄືກັນຢ່າງແທ້ຈິງ.

ຕົວຢ່າງ, ເພື່ອເອົາແທັກ html ທັງໝົດອອກຈາກສະຕຣິງ A5 ແລະອອກຈາກຂໍ້ຄວາມ, ສູດແມ່ນ:

=RegExpReplace(A5, "]*>", "")

ຫຼືທ່ານສາມາດນໍາໃຊ້ຕົວກໍານົດປະລິມານຂີ້ກຽດຕາມທີ່ສະແດງຢູ່ໃນຫນ້າຈໍ:

ການແກ້ໄຂນີ້ເຮັດວຽກຢ່າງສົມບູນສໍາລັບ ຂໍ້ຄວາມດຽວ (ແຖວ 5 - 9). ສໍາລັບບົດເລື່ອງຫຼາຍ (ແຖວທີ 10 - 12), ຜົນໄດ້ຮັບແມ່ນຄໍາຖາມ - ຂໍ້ຄວາມຈາກ tags ທີ່ແຕກຕ່າງກັນຖືກລວມເຂົ້າໄປໃນຫນຶ່ງ. ອັນນີ້ຖືກຕ້ອງຫຼືບໍ່? ຂ້ອຍຢ້ານ, ມັນບໍ່ແມ່ນສິ່ງທີ່ສາມາດຕັດສິນໃຈໄດ້ງ່າຍ - ທັງຫມົດແມ່ນຂຶ້ນກັບຄວາມເຂົ້າໃຈຂອງເຈົ້າກ່ຽວກັບຜົນໄດ້ຮັບທີ່ຕ້ອງການ. ຕົວຢ່າງ, ໃນ B11, ຜົນໄດ້ຮັບ "A1" ຄາດວ່າຈະ; ໃນຂະນະທີ່ຢູ່ໃນ B10, ທ່ານອາດຈະຕ້ອງການໃຫ້ "data1" ແລະ "data2" ແຍກອອກດ້ວຍຊ່ອງຫວ່າງ.

ເພື່ອເອົາແທັກ html ແລະແຍກຂໍ້ຄວາມທີ່ຍັງເຫຼືອອອກດ້ວຍຍະຫວ່າງ, ທ່ານສາມາດດໍາເນີນການດ້ວຍວິທີນີ້:

  1. ແທນທີ່ແທັກດ້ວຍຍະຫວ່າງ " ", ບໍ່ແມ່ນສະຕຣິງຫວ່າງເປົ່າ:

    =RegExpReplace(A5, "]*>", " ")

  2. ຫຼຸດຊ່ອງຫວ່າງຫຼາຍຊ່ອງໃສ່ຕົວອັກສອນດຽວ:

    =RegExpReplace(RegExpReplace(A5, "]*>", " "), " +", " ")

  3. ຕັດຊ່ອງນຳໜ້າ ແລະຕໍ່ທ້າຍ:

    =TRIM(RegExpReplace(RegExpReplace(A5, "]*>", " "), " +", " "))

ຜົນໄດ້ຮັບຈະເປັນແບບນີ້:

Ablebits Regex Remove Tool

ຖ້າທ່ານໄດ້ມີໂອກາດໃຊ້ Ultimate Suite ຂອງພວກເຮົາສໍາລັບ Excel, ທ່ານອາດຈະໄດ້ຄົ້ນພົບ Regex Tools ໃໝ່ທີ່ນຳສະເໜີກັບລຸ້ນທີ່ຜ່ານມາ. ຄວາມງາມຂອງຟັງຊັນ Regex ທີ່ອີງໃສ່ .NET ເຫຼົ່ານີ້ແມ່ນວ່າ, ທໍາອິດ, ສະຫນັບສະຫນູນການສະແດງອອກປົກກະຕິຢ່າງເຕັມທີ່.ທາງເລືອກ Remove , ແລະກົດ Remove .

ເພື່ອ​ໃຫ້​ໄດ້​ຮັບ​ຜົນ​ໄດ້​ຮັບ​ເປັນ​ສູດ, ບໍ່​ແມ່ນ​ຄ່າ, ເລືອກ Insert as a formula check box.

ເພື່ອ​ເອົາ​ຂໍ້​ຄວາມ​ພາຍ​ໃນ​ວົງ​ເລັບ​ອອກ​ຈາກ strings ໃນ A2:A5, ພວກ​ເຮົາ​ກໍາ​ນົດ​ການ​ຕັ້ງ​ຄ່າ. ດັ່ງລຸ່ມນີ້:

ດັ່ງນີ້, ຟັງຊັນ AblebitsRegexRemove ຖືກໃສ່ໃນຖັນໃໝ່ຖັດຈາກຂໍ້ມູນຕົ້ນສະບັບຂອງທ່ານ.

ໃນຖານະທີ່ AblebitsRegexRemove ຖືກອອກແບບມາເພື່ອເອົາຂໍ້ຄວາມອອກ, ມັນຕ້ອງການພຽງແຕ່ສອງອາກິວເມັນ - ຂໍ້ຄວາມຕົ້ນສະບັບ ແລະ regex. ທັງສອງພາລາມິເຕີສາມາດຖືກກໍານົດໂດຍກົງໃນສູດຫຼືສະຫນອງໃນຮູບແບບການອ້າງອີງເຊນ. ຖ້າຕ້ອງການ, ຟັງຊັນແບບກຳນົດເອງນີ້ສາມາດໃຊ້ຮ່ວມກັບອັນໃດກໍໄດ້.

ຕົວຢ່າງ, ເພື່ອຕັດຊ່ອງຫວ່າງເພີ່ມເຕີມໃນສະຕຣິງທີ່ໄດ້ຮັບຜົນ, ທ່ານສາມາດໃຊ້ຟັງຊັນ TRIM ເປັນ wrapper:

=TRIM(AblebitsRegexRemove(A5, $A$2))

ນັ້ນຄືວິທີລຶບສະຕຣິງໃນ Excel ໂດຍໃຊ້ຕົວສະແດງປົກກະຕິ. ຂ້າພະເຈົ້າຂໍຂອບໃຈທ່ານສໍາລັບການອ່ານແລະຫວັງວ່າຈະໄດ້ພົບທ່ານໃນ blog ຂອງພວກເຮົາໃນອາທິດຕໍ່ໄປ!

ມີໃຫ້ດາວໂຫລດ

ລຶບ strings ໂດຍໃຊ້ regex - ຕົວຢ່າງ (ໄຟລ໌ .xlsm)

Ultimate Suite - ລຸ້ນທົດລອງ (ໄຟລ໌ .exe)

in.
  • Pattern - ການສະແດງຜົນປົກກະຕິທີ່ຈະຊອກຫາ.
  • Replacement - ຂໍ້ຄວາມທີ່ຈະແທນທີ່ດ້ວຍ. ເພື່ອ ລຶບສະຕຣິງຍ່ອຍອອກ ທີ່ກົງກັບຮູບແບບ, ໃຫ້ໃຊ້ ສະຕຣິງຫວ່າງເປົ່າ ("") ສໍາລັບການປ່ຽນແທນ.
  • Instance_num (ທາງເລືອກ) - ຕົວຢ່າງເພື່ອ ແທນ. ຖ້າຖືກລະເວັ້ນ, ການຈັບຄູ່ທີ່ພົບທັງໝົດຈະຖືກປ່ຽນແທນ (ຄ່າເລີ່ມຕົ້ນ).
  • Match_case (ທາງເລືອກ) - ຄ່າ Boolean ທີ່ລະບຸວ່າຈະກົງກັນຫຼືບໍ່ສົນໃຈຕົວພິມຂໍ້ຄວາມ. ສຳລັບການຈັບຄູ່ທີ່ລະອຽດອ່ອນ, ໃຫ້ໃຊ້ TRUE (ຄ່າເລີ່ມຕົ້ນ); ສຳລັບກໍລະນີທີ່ບໍ່ອ່ອນໄຫວ - FALSE.
  • ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ກະລຸນາເບິ່ງຟັງຊັນ RegExpReplace.

    ເຄັດລັບ. ໃນກໍລະນີງ່າຍດາຍ, ທ່ານສາມາດເອົາຕົວອັກສອນຫຼືຄໍາສັບຕ່າງໆອອກຈາກຈຸລັງດ້ວຍສູດ Excel. ແຕ່ສຳນວນປົກກະຕິໃຫ້ທາງເລືອກຫຼາຍອັນສຳລັບອັນນີ້.

    ວິທີລຶບສະຕຣິງໂດຍໃຊ້ສຳນວນປົກກະຕິ - ຕົວຢ່າງ

    ດັ່ງທີ່ກ່າວມາຂ້າງເທິງ, ເພື່ອລຶບສ່ວນຕ່າງໆຂອງຂໍ້ຄວາມທີ່ກົງກັບຮູບແບບໃດໜຶ່ງ, ເຈົ້າຕ້ອງປ່ຽນແທນພວກມັນ. ດ້ວຍສາຍເປົ່າ. ດັ່ງນັ້ນ, ສູດທົ່ວໄປໃຊ້ຮູບແບບນີ້:

    RegExpReplace(ຂໍ້ຄວາມ, ຮູບແບບ, "", [instance_num], [match_case])

    ຕົວຢ່າງຂ້າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນການຈັດຕັ້ງປະຕິບັດແນວຄວາມຄິດພື້ນຖານນີ້.

    ເອົາອອກ. ການແຂ່ງຂັນທັງໝົດ ຫຼືການຈັບຄູ່ສະເພາະ

    ຟັງຊັນ RegExpReplace ຖືກອອກແບບມາເພື່ອຊອກຫາສາຍຍ່ອຍທັງໝົດທີ່ກົງກັບ regex ທີ່ໃຫ້ໄວ້. ການປະກົດຕົວທີ່ຈະເອົາອອກແມ່ນຄວບຄຸມໂດຍອາກິວເມັນທາງເລືອກທີ 4, ຊື່ instance_num .

    ຄ່າເລີ່ມຕົ້ນແມ່ນ "ກົງກັນທັງໝົດ" - ເມື່ອ instance_num ຕົວປະຕິບັດການຕິດຕໍ່ກັນ (&) ແລະຟັງຊັນຂໍ້ຄວາມ ເຊັ່ນ: ຂວາ, ກາງ ແລະ ຊ້າຍ.

    ຕົວຢ່າງ, ເພື່ອຂຽນເບີໂທລະສັບທັງໝົດໃນຮູບແບບ (123) 456-7890, ສູດແມ່ນ:

    ="("&LEFT(B5, 3)&") "&MID(B5, 4, 3)&"-"&RIGHT(B5, 4)

    ບ່ອນທີ່ B5 ເປັນຜົນຜະລິດຂອງຟັງຊັນ RegExpReplace.

    ເອົາຕົວອັກສອນພິເສດອອກໂດຍໃຊ້ regex

    ໃນບົດສອນໜຶ່ງຂອງພວກເຮົາ, ພວກເຮົາໄດ້ເບິ່ງວິທີການເອົາຕົວອັກສອນທີ່ບໍ່ຕ້ອງການໃນ Excel ໂດຍໃຊ້ inbuilt ແລະຫນ້າທີ່ກໍາຫນົດເອງ. ການສະແດງອອກເປັນປົກກະຕິເຮັດໃຫ້ສິ່ງຕ່າງໆງ່າຍຂຶ້ນຫຼາຍ! ແທນ​ທີ່​ຈະ​ໃຫ້​ລາຍ​ຊື່​ຕົວ​ອັກ​ສອນ​ທັງ​ຫມົດ​ທີ່​ຈະ​ລົບ, ພຽງ​ແຕ່​ລະ​ບຸ​ຕົວ​ທີ່​ທ່ານ​ຕ້ອງ​ການ​ທີ່​ຈະ​ເກັບ​ຮັກ​ສາ :)

    ຮູບ​ແບບ​ແມ່ນ​ອີງ​ໃສ່ ລະ​ດັບ​ຕົວ​ອັກ​ສອນ​ທີ່​ຖືກ​ລົບ - ຄາ​ລະ​ດູ​ການ​ແມ່ນ​ໄດ້​ວາງ​ໄວ້​ໃນ​ລະ​ດັບ​ຕົວ​ອັກ​ສອນ [^ ] ເພື່ອໃຫ້ກົງກັບຕົວອັກສອນດຽວທີ່ບໍ່ຢູ່ໃນວົງເລັບ. + quantifier ບັງຄັບໃຫ້ມັນຖືວ່າຕົວລະຄອນຕິດຕໍ່ກັນເປັນການຈັບຄູ່ດຽວ, ດັ່ງນັ້ນການປ່ຽນແທນແມ່ນເຮັດໄດ້ສໍາລັບສະຕຣິງຍ່ອຍທີ່ກົງກັນ ແທນທີ່ຈະເປັນແຕ່ລະຕົວລະຄອນ.

    ອີງຕາມຄວາມຕ້ອງການຂອງທ່ານ, ເລືອກຫນຶ່ງໃນ regexes ຕໍ່ໄປນີ້.

    ເພື່ອລຶບ ຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ ອອກ, ເຊັ່ນ: ຕົວອັກສອນທັງໝົດຍົກເວັ້ນຕົວອັກສອນ ແລະຕົວເລກ:

    ຮູບແບບ : [^0-9a-zA-Z] +

    ເພື່ອລຶບຕົວອັກສອນທັງໝົດ ຍົກເວັ້ນຕົວອັກສອນ , ຕົວເລກ ແລະ ຍະຫວ່າງ :

    ຮູບແບບ : [^0-9a-zA-Z ]+

    ເພື່ອລຶບຕົວອັກສອນທັງໝົດ ຍົກເວັ້ນຕົວອັກສອນ , ຕົວເລກ ແລະ ຂີດກ້ອງ , ທ່ານສາມາດໃຊ້ \ W ທີ່ຫຍໍ້ມາຈາກຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວອັກສອນທີ່ເປັນຕົວເລກ ຫຼື ຕົວໜັງສືunderscore:

    Pattern : \W+

    ຖ້າທ່ານຕ້ອງການ ຮັກສາຕົວອັກສອນອື່ນໆບາງຕົວ , ເຊັ່ນ:. ເຄື່ອງໝາຍວັກຕອນ, ເອົາພວກມັນໃສ່ໃນວົງເລັບ.

    ຕົວຢ່າງ, ເພື່ອຖອດຕົວອັກສອນອື່ນນອກເໜືອໄປຈາກຕົວອັກສອນ, ຕົວເລກ, ໄລຍະເວລາ, ເຄື່ອງໝາຍຈຸດ ຫຼືຍະຫວ່າງ, ໃຫ້ໃຊ້ regex ຕໍ່ໄປນີ້:

    Pattern : [^0-9a-zA-Z\., ]+

    ອັນນີ້ກໍາຈັດຕົວອັກສອນພິເສດທັງໝົດໄດ້ສຳເລັດ, ແຕ່ຊ່ອງຫວ່າງເພີ່ມເຕີມຍັງຄົງຢູ່.

    ເພື່ອແກ້ໄຂອັນນີ້, ທ່ານສາມາດວາງຟັງຊັນຂ້າງເທິງໃສ່ໃນອັນອື່ນທີ່ແທນທີ່ຊ່ອງຫວ່າງຫຼາຍຊ່ອງດ້ວຍຕົວອັກສອນຊ່ອງດຽວ.

    =RegExpReplace(RegExpReplace(A5,$A$2,""), " +", " ")

    ຫຼືພຽງແຕ່ໃຊ້ຟັງຊັນ TRIM ເດີມທີ່ມີຜົນດຽວກັນ. :

    =TRIM(RegExpReplace(A5, $A$2, ""))

    Regex ເພື່ອລຶບຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ

    ເພື່ອລຶບຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກທັງໝົດອອກຈາກສະຕຣິງໃດໜຶ່ງ, ທ່ານສາມາດໃຊ້ ສູດຄຳນວນຍາວນີ້ ຫຼືໜຶ່ງໃນ regexes ງ່າຍໆທີ່ລະບຸໄວ້ຂ້າງລຸ່ມນີ້.

    ຈັບຄູ່ຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ:

    ຮູບແບບ : \D+

    ລອກເອົາຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກໂດຍໃຊ້ຊັ້ນລົບ:

    ຮູບແບບ : [^0-9]+

    ຮູບແບບ : [^\d] +

    ເຄັດລັບ. ຖ້າເປົ້າຫມາຍຂອງທ່ານແມ່ນເພື່ອເອົາຂໍ້ຄວາມອອກແລະຂີ້ເຫຍື້ອຈໍານວນທີ່ຍັງເຫຼືອເຂົ້າໄປໃນຈຸລັງແຍກຕ່າງຫາກຫຼືວາງພວກມັນທັງຫມົດໃນຫນຶ່ງເຊນທີ່ແຍກອອກດ້ວຍຕົວຂັ້ນທີ່ລະບຸ, ຫຼັງຈາກນັ້ນໃຫ້ໃຊ້ຟັງຊັນ RegExpExtract ດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນວິທີການສະກັດຕົວເລກຈາກສະຕຣິງໂດຍໃຊ້ການສະແດງປົກກະຕິ.

    Regex ເພື່ອເອົາທຸກຢ່າງອອກຫຼັງຈາກຍະຫວ່າງ

    ເພື່ອລຶບລ້າງທຸກຢ່າງຫຼັງຈາກຍະຫວ່າງ, ໃຫ້ໃຊ້ຊ່ອງຫວ່າງ ( ) ຫຼືຕົວອັກສອນ whitespace (\s) ເພື່ອຊອກຫາຊ່ອງຫວ່າງທຳອິດ ແລະ .* ເພື່ອຈັບຄູ່ຕົວອັກສອນໃດນຶ່ງຫຼັງຈາກມັນ.

    ຫາກເຈົ້າມີສາຍແຖວດຽວທີ່ມີຊ່ອງຫວ່າງປົກກະຕິ (ຄ່າ 32 ໃນລະບົບ 7-bit ASCII) , ມັນບໍ່ສໍາຄັນວ່າອັນໃດຂອງ regexes ຂ້າງລຸ່ມນີ້ທີ່ທ່ານໃຊ້. ໃນກໍລະນີຂອງຫຼາຍແຖວ, ມັນເຮັດໃຫ້ມີຄວາມແຕກຕ່າງ.

    ເພື່ອລຶບທຸກຢ່າງ ຫຼັງຈາກຕົວອັກສອນຍະຫວ່າງ , ໃຊ້ regex ນີ້:

    ຮູບແບບ : " .*"

    =RegExpReplace(A5, " .*", "")

    ສູດນີ້ຈະຕັດອັນໃດອັນໜຶ່ງຫຼັງຈາກຍະຫວ່າງທຳອິດໃນ ແຕ່ລະແຖວ . ເພື່ອໃຫ້ຜົນໄດ້ຮັບສະແດງຢ່າງຖືກຕ້ອງ, ໃຫ້ແນ່ໃຈວ່າໄດ້ເປີດ Wrap Text.

    ເພື່ອຖອດທຸກຢ່າງອອກ ຫຼັງຈາກຍະຫວ່າງ (ລວມທັງຊ່ອງຫວ່າງ, ແຖບ, ການກັບຄືນ carriage ແລະແຖວໃຫມ່), regex ແມ່ນ:

    ຮູບແບບ : \s.*

    =RegExpReplace(A5, "\s.*", "")

    ເພາະວ່າ \s ກົງກັບບາງປະເພດຊ່ອງຫວ່າງຕ່າງໆ ລວມທັງ ແຖວໃໝ່ (\n), ສູດນີ້ລຶບທຸກຢ່າງຫຼັງຈາກຊ່ອງທໍາອິດໃນຕາລາງ, ບໍ່ວ່າມີແຖວໃດຢູ່ໃນນັ້ນ.

    Regex ເພື່ອລຶບຂໍ້ຄວາມອອກຫຼັງຈາກສະເພາະ. ຕົວອັກສອນ

    ການ​ນໍາ​ໃຊ້​ວິ​ທີ​ການ​ຈາກ​ຕົວ​ຢ່າງ​ທີ່​ຜ່ານ​ມາ, ທ່ານ​ສາ​ມາດ​ລົບ​ລ້າງ​ຂໍ້​ຄວາມ​ຫຼັງ​ຈາກ​ຕົວ​ອັກ​ສອນ​ໃດ​ຫນຶ່ງ​ທີ່​ທ່ານ​ລະ​ບຸ.

    ເພື່ອ​ຈັດ​ການ​ແຕ່​ລະ​ແຖວ​ແຍກ​ຕ່າງ​ຫາກ:

    ແບບ​ທົ່ວ​ໄປ : char.*

    ໃນສະຕຣິງແຖວດຽວ, ນີ້ຈະລຶບທຸກຢ່າງຫຼັງຈາກ char . ໃນສາຍສະຕຣິງຫຼາຍສາຍ, ແຕ່ລະສາຍຈະຖືກປະມວນຜົນເປັນສ່ວນບຸກຄົນເພາະວ່າໃນ VBA Regex ລົດຊາດ, ໄລຍະເວລາ (.) ກົງກັບຕົວອັກສອນໃດນຶ່ງ ຍົກເວັ້ນຕົວອັກສອນໃໝ່.ເລີ່ມຕົ້ນຂອງສະຕຣິງ ^, ພວກເຮົາຈັບຄູ່ຕົວອັກສອນທີ່ບໍ່ມີຊ່ອງຫວ່າງສູນ ຫຼືຫຼາຍກວ່ານັ້ນ [^ ]* ທີ່ຕິດຕາມດ້ວຍຊ່ອງຫວ່າງໜຶ່ງ ຫຼືຫຼາຍກວ່າ "+". ສ່ວນສຸດທ້າຍແມ່ນຖືກເພີ່ມເຂົ້າເພື່ອປ້ອງກັນຊ່ອງຫວ່າງທີ່ມີທ່າແຮງໃນຜົນໄດ້ຮັບ.

    ເພື່ອລຶບຂໍ້ຄວາມອອກກ່ອນຍະຫວ່າງທໍາອິດໃນແຕ່ລະແຖວ, ສູດຄຳນວນຈະຖືກຂຽນໄວ້ໃນໂໝດ "ການຈັບຄູ່ທັງໝົດ" ເລີ່ມຕົ້ນ ( instance_num omitted):

    =RegExpReplace(A5, "^[^ ]* +", "")

    ເພື່ອລຶບຂໍ້ຄວາມກ່ອນຊ່ອງຫວ່າງໃນແຖວທຳອິດ, ແລະປ່ອຍໃຫ້ແຖວອື່ນທັງໝົດຢູ່ຄົງທີ່, argument instance_num ຖືກຕັ້ງເປັນ 1:

    =RegExpReplace(A5, "^[^ ]* +", "", 1)

    Regex ເພື່ອຖອດທຸກຢ່າງອອກກ່ອນຕົວອັກສອນ

    ວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະລຶບຂໍ້ຄວາມທັງໝົດອອກກ່ອນຕົວອັກສອນສະເພາະແມ່ນໂດຍໃຊ້ regex ເຊັ່ນນີ້:

    ຮູບແບບທົ່ວໄປ : ^[^char]*char

    ແປເປັນພາສາມະນຸດ, ມັນບອກວ່າ: "ຕັ້ງແຕ່ເລີ່ມຕົ້ນຂອງສາຍທີ່ຍຶດໄວ້ໂດຍ ^. , ຈັບຄູ່ 0 ຕົວອັກສອນ ຫຼືຫຼາຍກວ່ານັ້ນຍົກເວັ້ນ char [^char]* ຈົນເຖິງການປະກົດຕົວທຳອິດຂອງ char .

    ຕົວຢ່າງ, ເພື່ອລຶບຂໍ້ຄວາມທັງໝົດກ່ອນຈໍ້າສອງເມັດທຳອິດ. , ໃຊ້ການສະແດງຜົນປົກກະຕິນີ້:

    ຮູບແບບ : ^[^:]*:

    ເພື່ອຫຼີກເວັ້ນຊ່ອງຫວ່າງໃນຜົນການຄົ້ນຫາ, ໃຫ້ເພີ່ມຕົວອັກສອນ \s* ໃສ່ໃນ ສຸດທ້າຍ, ນີ້ຈະເອົາທຸກສິ່ງທຸກຢ່າງ g ຕໍ່ໜ້າຈໍ້າສອງເມັດ ແລະ ຕັດຊ່ອງຫວ່າງໃດໆທັນທີຫຼັງຈາກມັນ:

    ຮູບແບບ : ^[^:]*:\s*

    =RegExpReplace(A5, "^[^:]*:\s*", "")

    ເຄັດລັບ. ນອກເຫນືອຈາກການສະແດງອອກປົກກະຕິ, Excel ມີວິທີການຂອງຕົນເອງທີ່ຈະເອົາຂໍ້ຄວາມອອກໂດຍຕໍາແຫນ່ງຫຼືກົງກັນ. ເພື່ອຮຽນຮູ້ວິທີການເຮັດສໍາເລັດວຽກງານດ້ວຍສູດພື້ນເມືອງ,ກະລຸນາເບິ່ງວິທີລຶບຂໍ້ຄວາມກ່ອນ ຫຼືຫຼັງຕົວອັກສອນໃນ Excel.

    Regex ເພື່ອລຶບທຸກຢ່າງຍົກເວັ້ນ

    ເພື່ອລຶບຕົວອັກສອນທັງໝົດອອກຈາກສະຕຣິງໃດໜຶ່ງ ຍົກເວັ້ນໂຕທີ່ເຈົ້າຕ້ອງການຮັກສາໄວ້, ໃຫ້ໃຊ້ຫ້ອງຮຽນຕົວອັກສອນທີ່ຖືກລົບອອກ.

    ຕົວຢ່າງ, ເພື່ອລຶບຕົວອັກສອນທັງໝົດຍົກເວັ້ນຕົວອັກສອນຕົວນ້ອຍ. ແລະຈຸດ, regex ແມ່ນ:

    Pattern : [^a-z\.]+

    ໃນຄວາມເປັນຈິງ, ພວກເຮົາສາມາດເຮັດໄດ້ໂດຍບໍ່ມີ + quantifier ຢູ່ທີ່ນີ້ຍ້ອນວ່າຫນ້າທີ່ຂອງພວກເຮົາປ່ຽນແທນທັງຫມົດ. ພົບການແຂ່ງຂັນ. quantifier ພຽງແຕ່ເຮັດໃຫ້ມັນໄວຂຶ້ນເລັກນ້ອຍ - ແທນທີ່ຈະຈັດການແຕ່ລະຕົວລະຄອນ, ທ່ານປ່ຽນແທນ substring.

    =RegExpReplace(A5, "[^a-z\.]+", "")

    Regex ເພື່ອເອົາແທັກ html ໃນ Excel

    ກ່ອນອື່ນໝົດ, ຄວນສັງເກດວ່າ HTML ບໍ່ແມ່ນພາສາປົກກະຕິ, ສະນັ້ນການແຍກມັນໂດຍໃຊ້ສຳນວນປົກກະຕິບໍ່ແມ່ນວິທີທີ່ດີທີ່ສຸດ. ທີ່ເວົ້າວ່າ, regexes ສາມາດຊ່ວຍລຶບແທໍກອອກຈາກເຊລຂອງທ່ານຢ່າງແນ່ນອນເພື່ອເຮັດໃຫ້ຊຸດຂໍ້ມູນຂອງທ່ານສະອາດຂຶ້ນ.

    ເນື່ອງຈາກວ່າແທັກ html ແມ່ນຖືກຈັດໃສ່ຢູ່ໃນວົງເລັບມຸມສະເໝີ, ທ່ານສາມາດຊອກຫາພວກມັນໄດ້ໂດຍໃຊ້ໜຶ່ງໃນ regexes ຕໍ່ໄປນີ້.

    ຊັ້ນ Negated:

    Pattern : ]*>

    ຢູ່ນີ້, ພວກເຮົາຈັບຄູ່ວົງເລັບມຸມເປີດ, ຕາມດ້ວຍສູນ ຫຼືຫຼາຍກວ່າການປະກົດຕົວຂອງຕົວອັກສອນໃດໆ ຍົກເວັ້ນ ວົງເລັບມຸມປິດ [^>]* ເຖິງວົງເລັບມຸມປິດທີ່ໃກ້ທີ່ສຸດ.

    Lazy search:

    ຮູບແບບ :

    ນີ້, ພວກເຮົາກົງກັນ. ສິ່ງໃດແດ່ຈາກວົງເລັບເປີດທໍາອິດໄປຫາວົງເລັບປິດທໍາອິດ. ເຄື່ອງໝາຍຄຳຖາມບັງຄັບ .* ໃຫ້ກົງກັບຕົວອັກສອນໜ້ອຍທີ່ສຸດເທົ່າແຖວ.

    ເພື່ອປະມວນຜົນທຸກແຖວເປັນສາຍດຽວ:

    ຮູບແບບທົ່ວໄປ : char.

    Michael Brown ເປັນຜູ້ທີ່ມີຄວາມກະຕືລືລົ້ນທາງດ້ານເທກໂນໂລຍີທີ່ອຸທິດຕົນທີ່ມີຄວາມກະຕືລືລົ້ນໃນຂະບວນການທີ່ສັບສົນໂດຍນໍາໃຊ້ເຄື່ອງມືຊອບແວ. ດ້ວຍປະສົບການຫຼາຍກວ່າໜຶ່ງທົດສະວັດໃນອຸດສາຫະກຳເທັກໂນໂລຍີ, ລາວໄດ້ເນັ້ນທັກສະໃນ Microsoft Excel ແລະ Outlook, ເຊັ່ນດຽວກັນກັບ Google Sheets ແລະ Docs. blog ຂອງ Michael ແມ່ນອຸທິດຕົນເພື່ອແບ່ງປັນຄວາມຮູ້ແລະຄວາມຊໍານານຂອງລາວກັບຜູ້ອື່ນ, ສະຫນອງຄໍາແນະນໍາແລະຄໍາແນະນໍາທີ່ງ່າຍຕໍ່ການຕິດຕາມເພື່ອປັບປຸງຜົນຜະລິດແລະປະສິດທິພາບ. ບໍ່ວ່າທ່ານຈະເປັນມືອາຊີບທີ່ມີລະດູການຫຼືຜູ້ເລີ່ມຕົ້ນ, blog ຂອງ Michael ສະເຫນີຄວາມເຂົ້າໃຈທີ່ມີຄຸນຄ່າແລະຄໍາແນະນໍາພາກປະຕິບັດສໍາລັບການໄດ້ຮັບປະໂຫຍດສູງສຸດຈາກເຄື່ອງມືຊອບແວທີ່ຈໍາເປັນເຫຼົ່ານີ້.