မာတိကာ
အဖြူကွက်များကို အထိရောက်ဆုံးနည်းလမ်းဖြင့် ကိုင်တွယ်လိုပါသလား။ ဆဲလ်တစ်ခုရှိ နေရာလွတ်အားလုံးကို ဖယ်ရှားရန်၊ စာလုံးတစ်လုံးတည်းဖြင့် နေရာလွတ်များစွာကို အစားထိုးရန်၊ နံပါတ်များကြားတွင် နေရာလွတ်များကို ချုံ့ရန်နှင့် အခြားအရာများကို ဖြတ်တောက်ရန်၊ နှင့် အခြားအရာများကို အသုံးပြုပါ။
သင်အသုံးပြုနေသည့် မည်သည့်ဒေတာကို ထည့်သွင်းမည်ဆိုပါက သင်ကြုံတွေ့ရမည်မဟုတ်ပေ။ နေရာလွတ်မရှိသောဒေတာအတွဲ။ ကိစ္စအများစုတွင်၊ whitespace သည် ကောင်းမွန်သည် - သင်ပိုမိုလွယ်ကူစွာရိပ်မိစေရန်အတွက် မတူညီသောအချက်အလက်များကို အမြင်အာရုံခွဲခြားရန် ၎င်းကိုအသုံးပြုသည်။ သို့သော် အချို့သောအခြေအနေများတွင်၊ ၎င်းသည် ဆိုးဆိုးရွားရွားဖြစ်လာနိုင်သည် - အပိုနေရာများသည် သင့်ဖော်မြူလာများကို ရှုပ်ယှက်ခတ်စေပြီး သင့်အလုပ်စာရွက်များကို စီမံခန့်ခွဲ၍မရလုနီးပါးဖြစ်စေပါသည်။
Excel တွင် နေရာလွတ်များကို ချုံ့ရန် အဘယ်ကြောင့် ပုံမှန်အသုံးအနှုန်းကို အသုံးပြုသနည်း။
Excel worksheets မှာရှိတဲ့ whitespaces တွေကို ဖယ်ရှားဖို့ ပုံမှန် expressions တွေကို မသုံးခင်မှာ အရင်ဆုံး စိတ်ထဲပေါ်လာတဲ့ မေးခွန်းကို ဖြေချင်ပါတယ် - Excel မှာ TRIM ရှိပြီးသားဆိုရင် ဘာကြောင့် regexes တွေ လိုအပ်တာလဲ။ လုပ်ဆောင်ချက်?
ခြားနားချက်ကို နားလည်ရန်၊ ကိစ္စတစ်ခုစီတွင် whitespace ဟုခေါ်သည့်အရာကို ကြည့်ကြပါစို့-
- built-in TRIM လုပ်ဆောင်ချက်သည် space character ကိုသာ ဖယ်ထုတ်နိုင်သည် 7-bit ASCII စနစ်တွင် တန်ဖိုး 32 ရှိသည်။
- ပုံမှန်အသုံးအနှုန်းများသည် space ( ) ၊ တက်ဘ် (\t ) ၊ carriage return (\r) နှင့် new ကဲ့သို့သော မတူညီသောနေရာလွတ်ပုံစံအနည်းငယ်ကို ခွဲခြားသတ်မှတ်နိုင်သည် စာကြောင်း (\n)။ ထို့အပြင်၊ ဤအမျိုးအစားအားလုံးနှင့်ကိုက်ညီသော whitespace character (\s) ပါရှိပြီး ကုန်ကြမ်းထည့်သွင်းမှုကို သန့်ရှင်းရေးအတွက် အလွန်အထောက်အကူဖြစ်စေပါသည်။ဒေတာ။
နောက်ကွယ်မှာ ဘာတွေဖြစ်နေလဲဆိုတာကို အတိအကျသိရင် အဖြေတစ်ခုထုတ်ဖို့က အများကြီးပိုလွယ်တယ်မဟုတ်လား။
Excel မှာ ပုံမှန်အသုံးအနှုန်းတွေကို ဘယ်လိုဖွင့်ရမလဲ
Out-of-the-box Excel သည် ပုံမှန်အသုံးအနှုန်းများကို ပံ့ပိုးမပေးကြောင်း လူသိများသောအချက်ဖြစ်သည်။ ၎င်းတို့ကို ဖွင့်ရန်၊ စိတ်ကြိုက် VBA လုပ်ဆောင်ချက်ကို ဖန်တီးရန် လိုအပ်သည်။ ကံကောင်းစွာဖြင့်၊ ကျွန်ုပ်တို့တွင် RegExpReplace ဟု အမည်ပေးထားပြီးဖြစ်သည်။ ခေတ္တစောင့်ပါ၊ ဖယ်ရှားခြင်းအကြောင်းပြောနေချိန်တွင် အဘယ်ကြောင့် "အစားထိုး" သနည်း။ Excel ဘာသာစကားတွင် "ဖယ်ရှားရန်" သည် "အလွတ်စာကြောင်းဖြင့် အစားထိုးရန်" အတွက် အခြားစကားလုံးတစ်ခုမျှသာဖြစ်သည် :)
သင့် Excel တွင် လုပ်ဆောင်ချက်ကို ထည့်ရန်၊ ဤစာမျက်နှာမှ ၎င်း၏ကုဒ်ကို ကူးယူပြီး VBA တည်းဖြတ်မှုတွင် ကူးထည့်ပါ။ နှင့် သင့်ဖိုင်ကို macro-enabled workbook (.xlsm) အဖြစ် သိမ်းဆည်းပါ။
ဤသည်မှာ သင့်အကိုးအကားအတွက် လုပ်ဆောင်ချက်၏ syntax ဖြစ်သည်-
RegExpReplace(စာသား၊ ပုံစံ၊ အစားထိုး၊ [instance_num] . တွင်ရှာဖွေပါ။- ဗလာစာကြောင်း ("") အားလုံးကို ချန်လှပ်ထားရန် <11
- space အက္ခရာ (" ") နေရာလွတ်များစွာကို နေရာလွတ်အက္ခရာတစ်ခုတည်းဖြင့် အစားထိုးရန်
ပိုမိုသိရှိလိုပါက၊ RegExpReplace လုပ်ဆောင်ချက်ကို ကြည့်ပါ။
regex ဖြင့် whitespace ကို ဖယ်ရှားနည်း - ဥပမာ
နှင့်အတူ RegExpReplace လုပ်ဆောင်ချက်ကို သင့်အလုပ်စာအုပ်တွင် ထည့်သွင်းလိုက်သည်၊ တစ်ကြိမ်လျှင် မတူညီသောအခြေအနေများကို ကိုင်တွယ်ဖြေရှင်းကြပါစို့။
regex ကိုအသုံးပြု၍ အဖြူကွက်များအားလုံးကို ဖယ်ရှားပါ
စာကြောင်းတစ်ခုအတွင်းရှိ နေရာလွတ်အားလုံးကို ဖယ်ရှားရန်၊ အပါအဝင် မည်သည့်နေရာလွတ်စာလုံးကိုမဆို သင်ရှာဖွေပါ။ နေရာလွတ်၊ တက်ဘ်တစ်ခု၊ ရထားပြန်ပို့ခြင်း နှင့် စာကြောင်းဖိဒ်တို့ကို အလွတ်စာကြောင်း ("") ဖြင့် အစားထိုးပါ။
Pattern : \s+
အစားထိုးခြင်း : ""
ရင်းမြစ်စာကြောင်းသည် A5 တွင်ရှိသည်ဟု ယူဆပါက B5 ရှိ ဖော်မြူလာမှာ-
=RegExpReplace(A5, "\s+", "")
သင့်ပုံစံများကို စီမံခန့်ခွဲရန် ပိုမိုလွယ်ကူစေရန် ၊ သင်သည် ကြိုတင်သတ်မှတ်ထားသောဆဲလ်တစ်ခုတွင် regex ကိုထည့်သွင်းနိုင်ပြီး $A$2 ကဲ့သို့သော အကြွင်းမဲ့ကိုးကားချက်တစ်ခုကို အသုံးပြု၍ ဖော်မြူလာသို့ ပေးဆောင်နိုင်သည်၊ ထို့ကြောင့် ကော်လံမှဖော်မြူလာကိုကူးသောအခါတွင် ဆဲလ်လိပ်စာသည် မပြောင်းလဲဘဲရှိနေမည်ဖြစ်သည်။
=RegExpReplace(A5, $A$2, "")
တစ်ခုထက်ပိုသော နေရာလွတ်များကို ဖယ်ရှားပါ
အပိုနေရာလွတ် ကိုဖယ်ရှားရန် (ဆိုလိုသည်မှာ ထို့ထက်မက၊ n တစ်ဆက်တည်း နေရာလွတ်များ) တူညီသော regex \s+ ကို အသုံးပြုပါ သို့သော် တွေ့ရှိထားသည့် ကိုက်ညီမှုများကို နေရာလွတ်စာလုံးတစ်ခုတည်းဖြင့် အစားထိုးပါ။
Pattern : \s+
အစားထိုးခြင်း : " "
=RegExpReplace(A5, "\s+", " ")
ဤဖော်မြူလာသည် စာလုံးတစ်လုံးကြားတွင်သာမက နေရာလွတ်တစ်ခုကိုပါ သိမ်းဆည်းထားကြောင်း ကျေးဇူးပြု၍ သတိပြုပါ။ဒေတာအတွဲအောက်တွင်၊ သင်သည် ရှေ့ပြေး/နောက်ဆွဲနေရာများအားလုံးကို ဖြတ်တောက်ပြီး မျဉ်းများစွာကို နဂိုအတိုင်းထားရှိကာ အကြားရှိ နေရာလွတ်များအားလုံးကို ဖြတ်တောက်လိုသည်ဆိုပါစို့။ လုပ်ဆောင်စရာကို ဖြည့်ဆည်းရန်၊ သင်သည် မတူညီသော RegExpReplace လုပ်ဆောင်ချက်နှစ်ခု လိုအပ်မည်ဖြစ်သည်။
ပထမလုပ်ဆောင်ချက်သည် နေရာအများအပြားကို space character တစ်ခုဖြင့် အစားထိုးသည်။
=RegExpReplace(A5, " +", " ")
အခြားတစ်ခုသည် space များကို ဖယ်ထုတ်သည်။ စာကြောင်းတစ်ခု၏အစနှင့်အဆုံးမှ-
=RegExpReplace(A5, "^ +| +$", "")
လုပ်ဆောင်ချက်နှစ်ခုကို တစ်ခုနှင့်တစ်ခု စုစည်းလိုက်ပါ-
=RegExpReplace(RegExpReplace(A5, " +", " "), "^ +| +$", "")
ထို့နောက် သင်တစ်ခုရရှိမည်ဖြစ်သည်။ ပြီးပြည့်စုံသောရလဒ်-
Regex သည် စာလုံးတစ်လုံးတည်းဖြင့် နေရာအများအပြားကို အစားထိုးရန် Regex
စာကြောင်းတစ်ခုမှ နေရာလွတ်အားလုံးကို ဖယ်ရှားလိုပြီး ဆက်တိုက်နေရာလွတ်အုပ်စုတစ်ခုစီကို အစားထိုးလိုပါက၊ သတ်မှတ်ထားသော ဇာတ်ကောင်တစ်ခုဖြင့် ဤအရာသည် သင်လုပ်ဆောင်ရန် လိုအပ်သည်-
ပထမဦးစွာ၊ ဦးဆောင်ခြင်းနှင့် နောက်လိုက်နေသော နေရာလွတ်များကို ချုံ့ရန် ဤ regex ကို အသုံးပြုပါ-
=RegExpReplace(A8, "^[\s]+|[\s]+$", "")
ထို့နောက် အထက်ဖော်ပြပါလုပ်ဆောင်ချက်ကို လုပ်ဆောင်ပါ။ သင်သတ်မှတ်ထားသော စာလုံးဖြင့် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဆက်တိုက်အဖြူကွက်များကို အစားထိုးသည့် အခြား RegExpReplace ၏ text အငြင်းအခုံသို့ ဥပမာ၊ a တုံးတို-
Pattern : \s+
အစားထိုးခြင်း : -
ရင်းမြစ်စာကြောင်းသည် A8 တွင် ရှိသည်ဟု ယူဆပါက၊ ဖော်မြူလာ ဤပုံသဏ္ဍာန်ကို ယူသည်-
=RegExpReplace(RegExpReplace(A8, "^[\s]+|[\s]+$", ""), "\s+", "-")
သို့မဟုတ် သင်သည် ဖန်သားပြင်တွင် ပြထားသည့်အတိုင်း သီးခြားဆဲလ်များတွင် ပုံစံများနှင့် အစားထိုးမှုများကို ထည့်သွင်းနိုင်သည်-
Regex လိုင်းအလွတ်များကို ဖယ်ရှားရန်
ဤသည်မှာ ဆဲလ်တစ်ခုတွင် လိုင်းများစွာရှိသည့် သုံးစွဲသူများ မကြာခဏမေးလေ့ရှိသည်- "ကျွန်ုပ်၏ဆဲလ်များတွင် လိုင်းအလွတ်များ အများအပြားရှိသည်။ ရရှိရန် နည်းလမ်းရှိပါသလား။ဆဲလ်တစ်ခုစီကိုဖြတ်၍ စာကြောင်းတစ်ခုစီကို ကိုယ်တိုင်ဖျက်ခြင်းမှလွဲ၍ အခြားသူတို့ကို ဖယ်ရှားလိုက်ပါ။" အဖြေ- လွယ်ကူပါသည်။
လက်ရှိလိုင်း၏အစ ^ မှ လက်ရှိစာကြောင်းအထိ စာလုံးတစ်လုံးမှမရှိသော ဗလာစာကြောင်းများနှင့် ကိုက်ညီရန်၊ နောက်စာကြောင်း \n၊ regex သည်-
Pattern : ^\n
သင့်အမြင်အာရုံ အလွတ်လိုင်းများတွင် နေရာလွတ်များ သို့မဟုတ် တက်ဘ်များပါရှိလျှင် ဤပုံမှန်အသုံးအနှုန်းကို အသုံးပြုပါ-
Pattern : ^[\t ]*\n
ဤဖော်မြူလာကို အသုံးပြု၍ regex ကို ဗလာစာကြောင်းတစ်ခုဖြင့် အစားထိုးလိုက်ရုံဖြင့် ဗလာစာကြောင်းအားလုံးသည် တစ်ပြိုင်နက် ပျောက်ကွယ်သွားပါမည်။
=RegExpReplace(A5, $A$2, "")
RegEx Tools ဖြင့် နေရာလွတ်များကို ဖယ်ရှားခြင်း
အထက်ပါဥပမာများသည် regexes မှပံ့ပိုးပေးသော အံ့သြဖွယ်ဖြစ်နိုင်ခြေ အနည်းငယ်မျှသာဖြစ်ကြောင်း သက်သေပြခဲ့သည်။ ကံမကောင်းစွာဖြင့်၊ အားလုံးမဟုတ်ပါ။ ဂန္ထဝင်ပုံမှန်အသုံးအနှုန်းများ၏အင်္ဂါရပ်များကို VBA တွင်ရရှိနိုင်ပါသည်။
ကံကောင်းစွာဖြင့်၊ ကျွန်ုပ်တို့၏ Ultimate Suite တွင်ပါရှိသော RegEx Tools များသည် Microsoft ၏ .NET RegEx အင်ဂျင်ဖြင့် လုပ်ဆောင်ပေးသောကြောင့် ၎င်းတို့ကို ကန့်သတ်ချက်များကင်းလွတ်ပါသည်။ ၎င်းသည် သင့်အား ပိုမိုခေတ်မီဆန်းပြားသောပုံစံများကို ဖန်တီးနိုင်စေပါသည်။ VBA RegExp က မပံ့ပိုးပါ။ Belo ထိုကဲ့သို့သော ပုံမှန်အသုံးအနှုန်း၏ ဥပမာကို သင်တွေ့လိမ့်မည်။
နံပါတ်များကြားနေရာလွတ်ကိုဖယ်ရှားရန် Regex
အက္ခရာဂဏန်းစာကြောင်းတစ်ခုတွင်၊ သင်သည် နံပါတ်များကြားတွင် နေရာလွတ်များကိုသာ ဖယ်ရှားလိုသည်ဆိုပါစို့၊ ထို့ကြောင့် ကဲ့သို့သော စာကြောင်းတစ်ခု၊ "A 1 2 B" သည် "A 12 B" ဖြစ်လာသည်။
ဂဏန်းနှစ်လုံးကြားရှိ နေရာလွတ်တစ်ခုနှင့် ကိုက်ညီရန် အောက်ပါပုံသဏ္ဍာန်များကို သင်သုံးနိုင်သည်-
Pattern : (?<=\d)\s+(?=\d)
ဖော်မြူလာကို အခြေခံ၍ ဖန်တီးရန်အထက်ပါ regexes တွင်၊ ဤတွင် လုပ်ဆောင်ရန် လွယ်ကူသော အဆင့်နှစ်ဆင့်ရှိသည်-
- Ablebits Data tab တွင်၊ Text အုပ်စုရှိ Regex ကိုနှိပ်ပါ။ ကိရိယာများ ။
- Regex Tools အကွက်တွင်၊ အရင်းအမြစ်ဒေတာကို ရွေးချယ်ပါ၊ သင်၏ regex ကိုထည့်ပါ၊ ဖယ်ရှားရန် ကို ရွေးပါ။ ရွေးစရာ၊ ပြီးလျှင် Remove ကိုနှိပ်ပါ။
ရလဒ်များကို ဖော်မြူလာအဖြစ်၊ တန်ဖိုးများမဟုတ်ဘဲ၊ ဖော်မြူလာအဖြစ်ထည့်သွင်းပါ အမှတ်ခြစ်အကွက်တွင် အမှတ်ခြစ်ထားရန် မမေ့ပါနှင့်။
အခိုက်အတန့်တွင်၊ မူရင်းဒေတာ၏ညာဘက်ရှိ ကော်လံအသစ်တွင် ထည့်သွင်းထားသော AblebitsRegexRemove လုပ်ဆောင်ချက်ကို သင်တွေ့ရပါမည်။
တနည်းအားဖြင့် သင်သည် အချို့ဆဲလ်များတွင် regex ကို ထည့်သွင်းနိုင်သည်။ AblebitsRegexRemove ကို AblebitsUDFs အောက်တွင် အမျိုးအစားခွဲခြားထားသည့် Insert Function dialog box ကို အသုံးပြု၍ ဆဲလ်တစ်ခုအတွင်း ဖော်မြူလာကို တိုက်ရိုက်ထည့်သွင်းပါ။
ဤလုပ်ဆောင်ချက်သည် strings များကိုဖယ်ရှားရန်အတွက် အထူးဒီဇိုင်းပြုလုပ်ထားသောကြောင့်၊ ၎င်းသည် argument နှစ်ခုသာလိုအပ်သည် - input string နှင့် regex:
=AblebitsRegexRemove(A5, $A$2)
ထိုသို့ space များကိုဖယ်ရှားနည်း Excel သည် ပုံမှန်အသုံးအနှုန်းများကို အသုံးပြုသည်။ ကျွန်ုပ်တို့၏ဘလော့ဂ်တွင် သင့်အား ဖတ်ရှုပြီး နောက်အပတ်တွင် တွေ့ရရန် မျှော်လင့်ခြင်းအတွက် ကျေးဇူးတင်ပါသည်။
ရရှိနိုင်သော ဒေါင်းလုဒ်များ
regex ဖြင့် whitespace ကိုဖယ်ရှားပါ - ဥပမာများ (.xlsm ဖိုင်)
Ultimate Suite - အစမ်းဗားရှင်း (.exe ဖိုင်)
စကားလုံးများသာမက ကြိုးတစ်ချောင်း၏ အစနှင့် အဆုံးတွင်လည်း မကောင်းပါ။ ရှေ့နှင့်နောက်လိုက်နေသော နေရာလွတ်များကို ဖယ်ရှားရန်၊ အထက်ဖော်ပြပါ ဖော်မြူလာကို အစနှင့်အဆုံးမှ နေရာလွတ်များကို ဖယ်ထုတ်သည့် အခြား RegExpReplace လုပ်ဆောင်ချက်တွင် အသိုက်ဖွဲ့လိုက်ပါ- =RegExpReplace(RegExpReplace(A5, "\s+", " "), "^[\s]+|[\s]+$", "")
သို့ Regex သို့ ရှေ့မှနောက်လိုက်နေသော နေရာလွတ်များကို ဖယ်ရှားပါ
စာကြောင်းတစ်ခု၏ အစ သို့မဟုတ် အဆုံးရှိ နေရာလွတ်များကို ရှာဖွေရန်၊ start ^ နှင့် အဆုံးသတ် $ anchors ကို အသုံးပြုပါ။
ဦးဆောင် နေရာလွတ်များ-
Pattern : ^[\s]+
Trailing whitespace-
Pattern : [\s ]+$
ဦးဆောင်နေ နှင့် နောက်လိုက် နေရာလွတ်-
ပုံစံ : ^[\s]+