ഉള്ളടക്ക പട്ടിക
താഴെയുള്ള സ്ട്രിംഗുകളിൽ, നിങ്ങൾ ആദ്യ ഓർഡർ നമ്പർ ഇല്ലാതാക്കാൻ ആഗ്രഹിക്കുന്നുവെന്ന് കരുതുക. അത്തരം എല്ലാ നമ്പറുകളും ഹാഷ് ചിഹ്നത്തിൽ (#) ആരംഭിക്കുകയും കൃത്യമായി 5 അക്കങ്ങൾ ഉൾക്കൊള്ളുകയും ചെയ്യുന്നു. അതിനാൽ, ഈ regex ഉപയോഗിച്ച് നമുക്ക് അവരെ തിരിച്ചറിയാൻ കഴിയും:
പാറ്റേൺ : #\d{5}\b
പദ അതിർത്തി \b ഒരു പൊരുത്തപ്പെടുന്ന സബ്സ്ട്രിംഗ് ആകാൻ കഴിയില്ലെന്ന് വ്യക്തമാക്കുന്നു #10000001 പോലുള്ള വലിയ സ്ട്രിംഗിന്റെ ഭാഗം.
എല്ലാ പൊരുത്തങ്ങളും നീക്കംചെയ്യുന്നതിന്, instance_num ആർഗ്യുമെന്റ് നിർവചിച്ചിട്ടില്ല:
=RegExpReplace(A5, "#\d{5}\b", "")
ആദ്യ സംഭവം മാത്രം ഇല്ലാതാക്കാൻ, ഞങ്ങൾ instance_num ആർഗ്യുമെന്റ് 1:
=RegExpReplace(A5, "#\d{5}\b", "", 1)
Regex ആയി സജ്ജീകരിച്ചു ചില പ്രതീകങ്ങൾ നീക്കംചെയ്യാൻ
ഒരു സ്ട്രിംഗിൽ നിന്ന് ചില പ്രതീകങ്ങൾ നീക്കം ചെയ്യാൻ, എല്ലാ അനാവശ്യ പ്രതീകങ്ങളും എഴുതി ലംബ ബാർ ഉപയോഗിച്ച് വേർതിരിക്കുകVBA RegExp പരിമിതികളില്ലാത്ത വാക്യഘടന, രണ്ടാമതായി, നിങ്ങളുടെ വർക്ക്ബുക്കുകളിൽ VBA കോഡൊന്നും ചേർക്കേണ്ടതില്ല, കാരണം എല്ലാ കോഡ് സംയോജനവും ഞങ്ങൾ ബാക്കെൻഡിൽ ചെയ്യുന്നു.
നിങ്ങളുടെ ജോലിയുടെ ഭാഗം ഒരു പതിവ് എക്സ്പ്രഷൻ നിർമ്മിക്കുക ഫംഗ്ഷനിലേക്ക് ഇത് സേവിക്കുക :) ഒരു പ്രായോഗിക ഉദാഹരണത്തിൽ അത് എങ്ങനെ ചെയ്യാമെന്ന് ഞാൻ കാണിച്ചുതരാം.
regex ഉപയോഗിച്ച് ബ്രാക്കറ്റുകളിലും പരാൻതീസിസിലുമുള്ള ടെക്സ്റ്റ് എങ്ങനെ നീക്കംചെയ്യാം
നീളമുള്ള ടെക്സ്റ്റ് സ്ട്രിംഗുകളിൽ, പ്രാധാന്യം കുറഞ്ഞ വിവരങ്ങൾ പലപ്പോഴും [ബ്രാക്കറ്റുകൾ] കൂടാതെ (പരാന്തീസിസിൽ) ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. മറ്റെല്ലാ ഡാറ്റയും നിലനിർത്തിക്കൊണ്ട് നിങ്ങൾ എങ്ങനെയാണ് അപ്രസക്തമായ വിശദാംശങ്ങൾ നീക്കം ചെയ്യുന്നത്?
വാസ്തവത്തിൽ, html ടാഗുകൾ ഇല്ലാതാക്കുന്നതിന് സമാനമായ ഒരു റീജക്സ് ഞങ്ങൾ ഇതിനകം നിർമ്മിച്ചിട്ടുണ്ട്, അതായത് ആംഗിൾ ബ്രാക്കറ്റിനുള്ളിലെ ടെക്സ്റ്റ്. വ്യക്തമായും, ചതുരാകൃതിയിലുള്ള ബ്രാക്കറ്റുകൾക്കും ഇതേ രീതികൾ പ്രവർത്തിക്കും.
പാറ്റേൺ : (\(.*?\))
നിങ്ങൾ എപ്പോഴെങ്കിലും എക്സെൽ അതിന്റെ ടൂൾബോക്സിനെ സാധാരണ എക്സ്പ്രഷനുകൾ ഉപയോഗിച്ച് സമ്പന്നമാക്കാൻ കഴിയുമെങ്കിൽ അത് എത്രത്തോളം ശക്തമാകുമെന്ന് നിങ്ങൾ എപ്പോഴെങ്കിലും ചിന്തിച്ചിട്ടുണ്ടോ? ഞങ്ങൾ അതിൽ ചിന്തിക്കുക മാത്രമല്ല പ്രവർത്തിക്കുകയും ചെയ്തു :) ഇപ്പോൾ, നിങ്ങൾക്ക് ഈ അത്ഭുതകരമായ RegEx ഫംഗ്ഷൻ നിങ്ങളുടെ സ്വന്തം വർക്ക്ബുക്കുകളിലേക്ക് ചേർക്കാനും ഒരു പാറ്റേണുമായി പൊരുത്തപ്പെടുന്ന സബ്സ്ട്രിംഗുകൾ തുടച്ചുനീക്കാനും കഴിയും!
കഴിഞ്ഞ ആഴ്ച, ഞങ്ങൾ പരിശോധിച്ചു Excel-ൽ സ്ട്രിംഗുകൾ മാറ്റിസ്ഥാപിക്കാൻ സാധാരണ എക്സ്പ്രഷനുകൾ എങ്ങനെ ഉപയോഗിക്കാം എന്നതിൽ. ഇതിനായി, ഞങ്ങൾ ഒരു ഇഷ്ടാനുസൃത Regex Replace ഫംഗ്ഷൻ സൃഷ്ടിച്ചു. അത് മാറിയതുപോലെ, ഫംഗ്ഷൻ അതിന്റെ പ്രാഥമിക ഉപയോഗത്തിന് അതീതമാണ്, മാത്രമല്ല സ്ട്രിംഗുകൾ മാറ്റിസ്ഥാപിക്കാൻ മാത്രമല്ല അവ നീക്കംചെയ്യാനും കഴിയും. അതെങ്ങനെ ആയിരിക്കും? Excel-ന്റെ കാര്യത്തിൽ, ഒരു മൂല്യം നീക്കം ചെയ്യുന്നത് മറ്റൊന്നുമല്ല, അതിനെ ഒരു ശൂന്യമായ സ്ട്രിംഗ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക എന്നതാണ്, ഞങ്ങളുടെ Regex ഫംഗ്ഷൻ വളരെ മികച്ചതാണ്!
Excel-ലെ സബ്സ്ട്രിംഗുകൾ നീക്കം ചെയ്യുന്നതിനുള്ള VBA RegExp ഫംഗ്ഷൻ
നമുക്കെല്ലാവർക്കും അറിയാവുന്നതുപോലെ, സ്ഥിരസ്ഥിതിയായി Excel-ൽ റെഗുലർ എക്സ്പ്രഷനുകൾ പിന്തുണയ്ക്കുന്നില്ല. അവ പ്രവർത്തനക്ഷമമാക്കാൻ, നിങ്ങളുടെ സ്വന്തം ഉപയോക്തൃ-നിർവചിച്ച ഫംഗ്ഷൻ സൃഷ്ടിക്കേണ്ടതുണ്ട്. അത്തരമൊരു ഫംഗ്ഷൻ ഇതിനകം തന്നെ എഴുതി, പരീക്ഷിച്ചു, ഉപയോഗത്തിന് തയ്യാറാണ് എന്നതാണ് നല്ല വാർത്ത. നിങ്ങൾ ചെയ്യേണ്ടത് ഈ കോഡ് പകർത്തി നിങ്ങളുടെ VBA എഡിറ്ററിൽ ഒട്ടിക്കുക, തുടർന്ന് നിങ്ങളുടെ ഫയൽ ഒരു മാക്രോ-എനേബിൾഡ് വർക്ക്ബുക്ക് (.xlsm) ആയി സംരക്ഷിക്കുക.
ഫംഗ്ഷനിൽ ഇനിപ്പറയുന്ന വാക്യഘടന:
RegExpReplace(ടെക്സ്റ്റ്, പാറ്റേൺ, റീപ്ലേസ്മെന്റ്, [instance_num], [match_case])ആദ്യത്തെ മൂന്ന് ആർഗ്യുമെന്റുകൾ ആവശ്യമാണ്, അവസാനത്തെ രണ്ട് ഓപ്ഷണൽ ആണ്.
എവിടെ:
- ടെക്സ്റ്റ് - തിരയാനുള്ള ടെക്സ്റ്റ് സ്ട്രിംഗ്ഒരു ക്ലോസിംഗ് ബ്രാക്കറ്റ് കണ്ടെത്തുന്നത് വരെ സാധ്യമാണ്.
നിങ്ങൾ ഏത് പാറ്റേൺ തിരഞ്ഞെടുക്കുന്നുവോ, ഫലം തികച്ചും സമാനമായിരിക്കും.
ഉദാഹരണത്തിന്, A5-ലെ ഒരു സ്ട്രിംഗിൽ നിന്ന് എല്ലാ html ടാഗുകളും നീക്കം ചെയ്ത് വാചകം വിടാൻ, സൂത്രവാക്യം ഇതാണ്:
=RegExpReplace(A5, "]*>", "")
അല്ലെങ്കിൽ സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾക്ക് അലസമായ ക്വാണ്ടിഫയർ ഉപയോഗിക്കാം:
ഈ പരിഹാരം തികച്ചും പ്രവർത്തിക്കുന്നു ഒറ്റ ടെക്സ്റ്റ് (വരി 5 - 9). ഒന്നിലധികം ടെക്സ്റ്റുകൾക്ക് (വരി 10 - 12), ഫലങ്ങൾ സംശയാസ്പദമാണ് - വ്യത്യസ്ത ടാഗുകളിൽ നിന്നുള്ള ടെക്സ്റ്റുകൾ ഒന്നിലേക്ക് ലയിപ്പിച്ചിരിക്കുന്നു. ഇത് ശരിയാണോ അല്ലയോ? ഞാൻ ഭയപ്പെടുന്നു, ഇത് എളുപ്പത്തിൽ തീരുമാനിക്കാവുന്ന ഒന്നല്ല - എല്ലാം ആവശ്യമുള്ള ഫലത്തെക്കുറിച്ചുള്ള നിങ്ങളുടെ ധാരണയെ ആശ്രയിച്ചിരിക്കുന്നു. ഉദാഹരണത്തിന്, B11 ൽ, "A1" ഫലം പ്രതീക്ഷിക്കുന്നു; B10-ൽ ആയിരിക്കുമ്പോൾ, "data1" ഉം "data2" ഉം ഒരു സ്പെയ്സ് ഉപയോഗിച്ച് വേർതിരിക്കണമെന്ന് നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.
html ടാഗുകൾ നീക്കം ചെയ്യാനും ബാക്കിയുള്ള ടെക്സ്റ്റുകൾ സ്പെയ്സുകൾ ഉപയോഗിച്ച് വേർതിരിക്കാനും, നിങ്ങൾക്ക് ഈ രീതിയിൽ തുടരാം:
- സ്പെയ്സുകൾ ഉപയോഗിച്ച് ടാഗുകൾ മാറ്റിസ്ഥാപിക്കുക, ശൂന്യമായ സ്ട്രിംഗുകളല്ല:
=RegExpReplace(A5, "]*>", " ")
- ഒരു സ്പെയ്സ് പ്രതീകത്തിലേക്ക് ഒന്നിലധികം സ്പെയ്സുകൾ കുറയ്ക്കുക:
=RegExpReplace(RegExpReplace(A5, "]*>", " "), " +", " ")
- ലീഡിംഗ്, ട്രെയിലിംഗ് സ്പേസുകൾ ട്രിം ചെയ്യുക:
=TRIM(RegExpReplace(RegExpReplace(A5, "]*>", " "), " +", " "))
ഫലം ഇതുപോലെയായിരിക്കും:
Ablebits Regex Remove Tool
Excel-നുള്ള ഞങ്ങളുടെ അൾട്ടിമേറ്റ് സ്യൂട്ട് ഉപയോഗിക്കാൻ നിങ്ങൾക്ക് അവസരം ലഭിച്ചിട്ടുണ്ടെങ്കിൽ, സമീപകാല റിലീസിനൊപ്പം അവതരിപ്പിച്ച പുതിയ Regex ടൂളുകൾ നിങ്ങൾ ഇതിനകം കണ്ടെത്തിയിരിക്കാം. ഈ .NET അധിഷ്ഠിത Regex ഫംഗ്ഷനുകളുടെ ഭംഗി, ഒന്നാമതായി, ഫുൾ-ഫീച്ചർ ചെയ്ത റെഗുലർ എക്സ്പ്രഷനുകളെ പിന്തുണയ്ക്കുന്നു എന്നതാണ്. നീക്കംചെയ്യുക ഓപ്ഷൻ, തുടർന്ന് നീക്കംചെയ്യുക അമർത്തുക.
മൂല്യങ്ങളല്ല, ഫോർമുലകളായി ഫലങ്ങൾ ലഭിക്കുന്നതിന്, ഒരു ഫോർമുലയായി തിരുകുക ചെക്ക് ബോക്സ് തിരഞ്ഞെടുക്കുക.
A2:A5 ലെ സ്ട്രിംഗുകളിൽ നിന്ന് ബ്രാക്കറ്റിനുള്ളിലെ ടെക്സ്റ്റ് നീക്കംചെയ്യുന്നതിന്, ഞങ്ങൾ ക്രമീകരണങ്ങൾ കോൺഫിഗർ ചെയ്യുന്നു ഇനിപ്പറയുന്ന രീതിയിൽ:
ഫലമായി, AblebitsRegexRemove ഫംഗ്ഷൻ നിങ്ങളുടെ യഥാർത്ഥ ഡാറ്റയ്ക്ക് അടുത്തുള്ള ഒരു പുതിയ കോളത്തിൽ ചേർത്തിരിക്കുന്നു.
ഫംഗ്ഷൻ സ്റ്റാൻഡേർഡ് Insert Function ഡയലോഗ് ബോക്സ് വഴി ഒരു സെല്ലിൽ നേരിട്ട് നൽകാം, അവിടെ അത് AblebitsUDFs എന്നതിന് കീഴിൽ തരം തിരിച്ചിരിക്കുന്നു.
AblebitsRegexRemove ടെക്സ്റ്റ് നീക്കം ചെയ്യുന്നതിനായി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നതിനാൽ, ഇതിന് രണ്ട് ആർഗ്യുമെന്റുകൾ മാത്രമേ ആവശ്യമുള്ളൂ - സോഴ്സ് സ്ട്രിംഗും റീജക്സും. രണ്ട് പരാമീറ്ററുകളും ഒരു ഫോർമുലയിൽ നേരിട്ട് നിർവചിക്കാം അല്ലെങ്കിൽ സെൽ റഫറൻസുകളുടെ രൂപത്തിൽ നൽകാം. ആവശ്യമെങ്കിൽ, ഈ ഇഷ്ടാനുസൃത ഫംഗ്ഷൻ ഏതെങ്കിലും നേറ്റീവ് ഫംഗ്ഷൻ ഉപയോഗിച്ച് ഉപയോഗിക്കാം.
ഉദാഹരണത്തിന്, തത്ഫലമായുണ്ടാകുന്ന സ്ട്രിംഗുകളിൽ അധിക സ്പെയ്സുകൾ ട്രിം ചെയ്യുന്നതിന്, നിങ്ങൾക്ക് TRIM ഫംഗ്ഷൻ ഒരു റാപ്പറായി ഉപയോഗിക്കാം:
=TRIM(AblebitsRegexRemove(A5, $A$2))
ഇങ്ങനെയാണ് എക്സലിൽ സാധാരണ എക്സ്പ്രഷനുകൾ ഉപയോഗിച്ച് സ്ട്രിംഗുകൾ നീക്കം ചെയ്യുന്നത്. വായിച്ചതിന് നന്ദി, അടുത്ത ആഴ്ച ഞങ്ങളുടെ ബ്ലോഗിൽ നിങ്ങളെ കാണാൻ കാത്തിരിക്കുന്നു!
ലഭ്യമായ ഡൗൺലോഡുകൾ
regex ഉപയോഗിച്ച് സ്ട്രിംഗുകൾ നീക്കംചെയ്യുക - ഉദാഹരണങ്ങൾ (.xlsm ഫയൽ)
Ultimate Suite - ട്രയൽ പതിപ്പ് (.exe ഫയൽ)
in.കൂടുതൽ വിവരങ്ങൾക്ക്, RegExpReplace ഫംഗ്ഷൻ കാണുക.
നുറുങ്ങ്. ലളിതമായ സന്ദർഭങ്ങളിൽ, Excel ഫോർമുലകൾ ഉപയോഗിച്ച് സെല്ലുകളിൽ നിന്ന് നിങ്ങൾക്ക് നിർദ്ദിഷ്ട പ്രതീകങ്ങളോ വാക്കുകളോ നീക്കംചെയ്യാം. എന്നാൽ റെഗുലർ എക്സ്പ്രഷനുകൾ ഇതിന് ധാരാളം ഓപ്ഷനുകൾ നൽകുന്നു.
പതിവ് എക്സ്പ്രഷനുകൾ ഉപയോഗിച്ച് സ്ട്രിംഗുകൾ എങ്ങനെ നീക്കംചെയ്യാം - ഉദാഹരണങ്ങൾ
മുകളിൽ സൂചിപ്പിച്ചതുപോലെ, ഒരു പാറ്റേൺ പൊരുത്തപ്പെടുന്ന വാചകത്തിന്റെ ഭാഗങ്ങൾ നീക്കംചെയ്യുന്നതിന്, നിങ്ങൾ അവ മാറ്റിസ്ഥാപിക്കേണ്ടതുണ്ട്. ഒരു ശൂന്യമായ ചരട് ഉപയോഗിച്ച്. അതിനാൽ, ഒരു പൊതു സൂത്രവാക്യം ഈ രൂപമെടുക്കുന്നു:
RegExpReplace(ടെക്സ്റ്റ്, പാറ്റേൺ, "", [instance_num], [match_case])താഴെയുള്ള ഉദാഹരണങ്ങൾ ഈ അടിസ്ഥാന ആശയത്തിന്റെ വിവിധ നിർവ്വഹണങ്ങൾ കാണിക്കുന്നു.
നീക്കം ചെയ്യുക. എല്ലാ പൊരുത്തങ്ങളും അല്ലെങ്കിൽ നിർദ്ദിഷ്ട പൊരുത്തം
RegExpReplace ഫംഗ്ഷൻ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് തന്നിരിക്കുന്ന റീജക്സുമായി പൊരുത്തപ്പെടുന്ന എല്ലാ സബ്സ്ട്രിംഗുകളും കണ്ടെത്തുന്നതിനാണ്. instance_num എന്ന് പേരിട്ടിരിക്കുന്ന നാലാമത്തെ ഓപ്ഷണൽ ആർഗ്യുമെന്റാണ് നീക്കം ചെയ്യേണ്ട സംഭവങ്ങൾ നിയന്ത്രിക്കുന്നത്.
ഡിഫോൾട്ട് "എല്ലാ പൊരുത്തങ്ങളും" - instance_num ആകുമ്പോൾconcatenation operator (&), RIGHT, MID, LEFT പോലുള്ള ടെക്സ്റ്റ് ഫംഗ്ഷനുകൾ.
ഉദാഹരണത്തിന്, എല്ലാ ഫോൺ നമ്പറുകളും (123) 456-7890 ഫോർമാറ്റിൽ എഴുതുന്നതിന്, ഫോർമുല ഇതാണ്:
="("&LEFT(B5, 3)&") "&MID(B5, 4, 3)&"-"&RIGHT(B5, 4)
RegExpReplace ഫംഗ്ഷന്റെ ഔട്ട്പുട്ട് B5 ആണ്.
regex ഉപയോഗിച്ച് പ്രത്യേക പ്രതീകങ്ങൾ നീക്കം ചെയ്യുക
ഞങ്ങളുടെ ട്യൂട്ടോറിയലുകളിൽ ഒന്നിൽ, ഇൻബിൽറ്റ്, ഇഷ്ടാനുസൃത ഫംഗ്ഷനുകൾ ഉപയോഗിച്ച് Excel-ൽ ആവശ്യമില്ലാത്ത പ്രതീകങ്ങൾ എങ്ങനെ നീക്കംചെയ്യാമെന്ന് ഞങ്ങൾ പരിശോധിച്ചു. പതിവ് പദപ്രയോഗങ്ങൾ കാര്യങ്ങൾ വളരെ എളുപ്പമാക്കുന്നു! ഇല്ലാതാക്കാനുള്ള എല്ലാ പ്രതീകങ്ങളും ലിസ്റ്റ് ചെയ്യുന്നതിനുപകരം, നിങ്ങൾ സൂക്ഷിക്കാൻ ആഗ്രഹിക്കുന്നവ വ്യക്തമാക്കുക :)
പാറ്റേൺ നെഗേറ്റഡ് ക്യാരക്ടർ ക്ലാസുകളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ് - ഒരു ക്യാരക്ടർ ക്ലാസിനുള്ളിൽ ഒരു ക്യാരറ്റ് ഇട്ടിരിക്കുന്നു [^ ] ബ്രാക്കറ്റിൽ ഇല്ലാത്ത ഏതെങ്കിലും ഒരു പ്രതീകവുമായി പൊരുത്തപ്പെടാൻ. തുടർച്ചയായ പ്രതീകങ്ങളെ ഒരൊറ്റ പൊരുത്തമായി കണക്കാക്കാൻ + ക്വാണ്ടിഫയർ അതിനെ നിർബന്ധിക്കുന്നു, അതുവഴി ഓരോ വ്യക്തിഗത പ്രതീകത്തിനും പകരം പൊരുത്തപ്പെടുന്ന സബ്സ്ട്രിംഗിന് പകരം വയ്ക്കൽ നടത്തുന്നു.
നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച്, ഇനിപ്പറയുന്ന റീജക്സുകളിൽ ഒന്ന് തിരഞ്ഞെടുക്കുക.
ആൽഫാന്യൂമെറിക് അല്ലാത്ത പ്രതീകങ്ങൾ നീക്കംചെയ്യാൻ, അതായത് അക്ഷരങ്ങളും അക്കങ്ങളും ഒഴികെയുള്ള എല്ലാ പ്രതീകങ്ങളും:
പാറ്റേൺ : [^0-9a-zA-Z] +
അക്ഷരങ്ങൾ ഒഴികെ എല്ലാ പ്രതീകങ്ങളും ശുദ്ധീകരിക്കാൻ , അക്കങ്ങൾ , സ്പെയ്സുകൾ :
പാറ്റേൺ : [^0-9a-zA-Z ]+
അക്ഷരങ്ങൾ , അക്കങ്ങൾ , അണ്ടർസ്കോർ എന്നിവ ഒഴികെയുള്ള എല്ലാ പ്രതീകങ്ങളും ഇല്ലാതാക്കാൻ, നിങ്ങൾക്ക് \ ഉപയോഗിക്കാവുന്നതാണ്. W എന്നത് ആൽഫാന്യൂമെറിക് പ്രതീകമല്ലാത്ത അല്ലെങ്കിൽ ഏതെങ്കിലും പ്രതീകത്തെ സൂചിപ്പിക്കുന്നുഅടിവരയിടുക:
പാറ്റേൺ : \W+
നിങ്ങൾക്ക് മറ്റ് ചില പ്രതീകങ്ങൾ സൂക്ഷിക്കണമെങ്കിൽ , ഉദാ. വിരാമചിഹ്നങ്ങൾ, ബ്രാക്കറ്റുകൾക്കുള്ളിൽ ഇടുക.
ഉദാഹരണത്തിന്, ഒരു അക്ഷരം, അക്കം, കാലയളവ്, കോമ അല്ലെങ്കിൽ സ്പെയ്സ് എന്നിവ ഒഴികെയുള്ള ഏതെങ്കിലും പ്രതീകം നീക്കംചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന റീജക്സ് ഉപയോഗിക്കുക:
പാറ്റേൺ : [^0-9a-zA-Z\., ]+
ഇത് എല്ലാ പ്രത്യേക പ്രതീകങ്ങളെയും വിജയകരമായി ഇല്ലാതാക്കുന്നു, പക്ഷേ അധിക വൈറ്റ്സ്പെയ്സ് അവശേഷിക്കുന്നു.
ഇത് പരിഹരിക്കാൻ, ഒന്നിലധികം സ്പെയ്സുകൾ മാറ്റി പകരം ഒരൊറ്റ സ്പെയ്സ് ക്യാരക്ടർ ഉപയോഗിച്ച് മുകളിലെ ഫംഗ്ഷൻ നെസ്റ്റ് ചെയ്യാൻ കഴിയും.
=RegExpReplace(RegExpReplace(A5,$A$2,""), " +", " ")
അല്ലെങ്കിൽ അതേ ഇഫക്റ്റോടെ നേറ്റീവ് TRIM ഫംഗ്ഷൻ ഉപയോഗിക്കുക :
=TRIM(RegExpReplace(A5, $A$2, ""))
നോൺ-സംഖ്യാ പ്രതീകങ്ങൾ നീക്കം ചെയ്യാൻ Regex
ഒരു സ്ട്രിംഗിൽ നിന്ന് എല്ലാ നോൺ-നമ്പറിക് പ്രതീകങ്ങളും ഇല്ലാതാക്കാൻ, നിങ്ങൾക്ക് ഉപയോഗിക്കാം ഒന്നുകിൽ ഈ ദൈർഘ്യമേറിയ ഫോർമുല അല്ലെങ്കിൽ താഴെ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന വളരെ ലളിതമായ റീജക്സുകളിൽ ഒന്ന്.
അക്കമല്ലാത്ത ഏത് പ്രതീകവും പൊരുത്തപ്പെടുത്തുക:
പാറ്റേൺ : \D+
നിഗറ്റഡ് ക്ലാസുകൾ ഉപയോഗിച്ച് നോൺ-സംഖ്യാ പ്രതീകങ്ങൾ സ്ട്രിപ്പ് ചെയ്യുക:
പാറ്റേൺ : [^0-9]+
പാറ്റേൺ : [^\d] +
നുറുങ്ങ്. നിങ്ങളുടെ ലക്ഷ്യം ടെക്സ്റ്റ് നീക്കം ചെയ്ത് ശേഷിക്കുന്ന സംഖ്യകൾ പ്രത്യേക സെല്ലുകളിലേക്ക് പകരുകയോ അല്ലെങ്കിൽ അവയെല്ലാം ഒരു നിശ്ചിത ഡിലിമിറ്റർ ഉപയോഗിച്ച് വേർതിരിക്കുന്ന ഒരു സെല്ലിൽ സ്ഥാപിക്കുകയോ ആണെങ്കിൽ, സാധാരണ എക്സ്പ്രഷനുകൾ ഉപയോഗിച്ച് സ്ട്രിംഗിൽ നിന്ന് സംഖ്യകൾ എങ്ങനെ എക്സ്ട്രാക്റ്റ് ചെയ്യാം എന്നതിൽ വിശദീകരിച്ചിരിക്കുന്നതുപോലെ RegExpExtract ഫംഗ്ഷൻ ഉപയോഗിക്കുക.
സ്പെയ്സിന് ശേഷം എല്ലാം നീക്കംചെയ്യാൻ Regex
ഒരു സ്പെയ്സിന് ശേഷം എല്ലാം മായ്ക്കാൻ, സ്പെയ്സ് ( ) ഉപയോഗിക്കുക അല്ലെങ്കിൽവൈറ്റ്സ്പെയ്സ് (\s) പ്രതീകം ആദ്യ സ്പെയ്സ് കണ്ടെത്താനും അതിന് ശേഷമുള്ള ഏതെങ്കിലും പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടുത്താനും .* , ചുവടെയുള്ള റീജക്സുകളിൽ ഏതാണ് നിങ്ങൾ ഉപയോഗിക്കുന്നത് എന്നത് ശരിക്കും പ്രശ്നമല്ല. മൾട്ടി-ലൈൻ സ്ട്രിംഗുകളുടെ കാര്യത്തിൽ, അത് ഒരു വ്യത്യാസം ഉണ്ടാക്കുന്നു.
എല്ലാം നീക്കം ചെയ്യാൻ ഒരു സ്പെയ്സ് പ്രതീകത്തിന് ശേഷം , ഈ റീജക്സ് ഉപയോഗിക്കുക:
പാറ്റേൺ : " .*"
=RegExpReplace(A5, " .*", "")
ഓരോ വരിയിലും ആദ്യ സ്പെയ്സിന് ശേഷം ഈ ഫോർമുല എന്തും സ്ട്രിപ്പ് ചെയ്യും. ഫലങ്ങൾ ശരിയായി പ്രദർശിപ്പിക്കുന്നതിന്, Wrap Text ഓൺ ചെയ്യുന്നത് ഉറപ്പാക്കുക.
എല്ലാം നീക്കം ചെയ്യാൻ ഒരു വൈറ്റ്സ്പെയ്സിന് ശേഷം (ഒരു സ്പെയ്സ്, ടാബ്, ക്യാരേജ് റിട്ടേൺ, പുതിയ ലൈൻ എന്നിവയുൾപ്പെടെ), regex ഇതാണ്:
പാറ്റേൺ : \s.*
=RegExpReplace(A5, "\s.*", "")
കാരണം \s ഒരു പുതിയ ലൈൻ ഉൾപ്പെടെയുള്ള കുറച്ച് വൈറ്റ്സ്പേസ് തരങ്ങളുമായി പൊരുത്തപ്പെടുന്നു. 9> (\n), ഈ ഫോർമുല ഒരു സെല്ലിലെ ആദ്യത്തെ സ്പെയ്സിന് ശേഷം, അതിൽ എത്ര വരികൾ ഉണ്ടെങ്കിലും എല്ലാം ഇല്ലാതാക്കുന്നു.
നിർദ്ദിഷ്ടമായതിന് ശേഷം ടെക്സ്റ്റ് നീക്കംചെയ്യാൻ Regex. പ്രതീകം
മുമ്പത്തെ ഉദാഹരണത്തിൽ നിന്നുള്ള രീതികൾ ഉപയോഗിച്ച്, നിങ്ങൾ വ്യക്തമാക്കുന്ന ഏത് പ്രതീകത്തിനുശേഷവും നിങ്ങൾക്ക് വാചകം ഇല്ലാതാക്കാൻ കഴിയും.
ഓരോ വരിയും പ്രത്യേകം കൈകാര്യം ചെയ്യാൻ:
പൊതുവായ പാറ്റേൺ : char.*
ഒറ്റ-വരി സ്ട്രിംഗുകളിൽ, ഇത് char ന് ശേഷമുള്ള എല്ലാം നീക്കം ചെയ്യും. മൾട്ടി-ലൈൻ സ്ട്രിംഗുകളിൽ, ഓരോ വരിയും വ്യക്തിഗതമായി പ്രോസസ്സ് ചെയ്യപ്പെടും, കാരണം VBA Regex ഫ്ലേവറിൽ, ഒരു കാലഘട്ടം (.) ഒരു പുതിയ പ്രതീകം ഒഴികെയുള്ള ഏത് പ്രതീകവുമായി പൊരുത്തപ്പെടുന്നുഒരു സ്ട്രിംഗിന്റെ ആരംഭം ^, ഞങ്ങൾ പൂജ്യമോ അതിലധികമോ നോൺ-സ്പേസ് പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടുന്നു [^ ]* അത് ഉടനടി ഒന്നോ അതിലധികമോ സ്പെയ്സുകൾ " +" പിന്തുടരുന്നു. ഫലങ്ങളിൽ സാധ്യതയുള്ള ലീഡിംഗ് സ്പെയ്സുകൾ തടയാൻ അവസാന ഭാഗം ചേർത്തു.
ഓരോ വരിയിലും ആദ്യ സ്പെയ്സിന് മുമ്പുള്ള ടെക്സ്റ്റ് നീക്കംചെയ്യുന്നതിന്, ഫോർമുല ഡിഫോൾട്ട് "എല്ലാ പൊരുത്തങ്ങളും" മോഡിൽ എഴുതിയിരിക്കുന്നു ( instance_num ഒഴിവാക്കി):
=RegExpReplace(A5, "^[^ ]* +", "")
ആദ്യ വരിയിലെ ആദ്യ സ്പെയ്സിന് മുമ്പുള്ള ടെക്സ്റ്റ് ഇല്ലാതാക്കാനും മറ്റെല്ലാ വരികളും കേടുകൂടാതെ വിടാനും, instance_num ആർഗ്യുമെന്റ് 1:
=RegExpReplace(A5, "^[^ ]* +", "", 1)
=RegExpReplace(A5, "^[^ ]* +", "", 1)
കഥാപാത്രത്തിന് മുമ്പുള്ള എല്ലാം നീക്കം ചെയ്യാൻ Regex
ഒരു നിർദ്ദിഷ്ട പ്രതീകത്തിന് മുമ്പുള്ള എല്ലാ ടെക്സ്റ്റുകളും നീക്കംചെയ്യാനുള്ള എളുപ്പവഴി ഒരു റീജക്സ് ഉപയോഗിക്കുക എന്നതാണ് ഇതുപോലെ:
ജനറിക് പാറ്റേൺ : ^[^char]*char
ഒരു മനുഷ്യ ഭാഷയിലേക്ക് വിവർത്തനം ചെയ്തു, അത് പറയുന്നു: "ഒരു സ്ട്രിംഗിന്റെ തുടക്കം മുതൽ ^ , char [^char]* ഒഴികെ 0 അല്ലെങ്കിൽ കൂടുതൽ പ്രതീകങ്ങൾ char ന്റെ ആദ്യ സംഭവം വരെ പൊരുത്തപ്പെടുത്തുക.
ഉദാഹരണത്തിന്, ആദ്യത്തെ കോളണിന് മുമ്പുള്ള എല്ലാ വാചകങ്ങളും ഇല്ലാതാക്കാൻ , ഈ പതിവ് പദപ്രയോഗം ഉപയോഗിക്കുക:
പാറ്റേൺ : ^[^:]*:
ഫലങ്ങളിലെ മുൻനിര സ്പെയ്സുകൾ ഒഴിവാക്കാൻ, ഒരു വൈറ്റ്സ്പേസ് പ്രതീകം \s* ചേർക്കുക ഇത് എല്ലാം നീക്കം ചെയ്യും ആദ്യ കോളണിന് മുമ്പായി g, അതിന് തൊട്ടുപിന്നാലെ ഏതെങ്കിലും സ്പെയ്സുകൾ ട്രിം ചെയ്യുക:
പാറ്റേൺ : ^[^:]*:\s*
=RegExpReplace(A5, "^[^:]*:\s*", "")
നുറുങ്ങ്. പതിവ് എക്സ്പ്രഷനുകൾ കൂടാതെ, സ്ഥാനം അല്ലെങ്കിൽ പൊരുത്തപ്പെടുത്തൽ പ്രകാരം വാചകം നീക്കംചെയ്യുന്നതിന് Excel-ന് അതിന്റേതായ മാർഗങ്ങളുണ്ട്. നേറ്റീവ് ഫോർമുലകൾ ഉപയോഗിച്ച് ടാസ്ക് എങ്ങനെ നിർവഹിക്കാമെന്ന് മനസിലാക്കാൻ,Excel-ൽ ഒരു പ്രതീകത്തിന് മുമ്പോ ശേഷമോ വാചകം നീക്കം ചെയ്യുന്നതെങ്ങനെയെന്ന് കാണുക.
ഒഴികെയുള്ള എല്ലാം നീക്കംചെയ്യാൻ Regex
നിങ്ങൾ സൂക്ഷിക്കാൻ ആഗ്രഹിക്കുന്നവ ഒഴികെയുള്ള എല്ലാ പ്രതീകങ്ങളും ഒരു സ്ട്രിംഗിൽ നിന്ന് ഇല്ലാതാക്കാൻ, നിരാകരിച്ച പ്രതീക ക്ലാസുകൾ ഉപയോഗിക്കുക.
ഉദാഹരണത്തിന്, ചെറിയക്ഷരങ്ങൾ ഒഴികെയുള്ള എല്ലാ പ്രതീകങ്ങളും നീക്കംചെയ്യാൻ ഒപ്പം ഡോട്ടുകളും, regex ഇതാണ്:
പാറ്റേൺ : [^a-z\.]+
വാസ്തവത്തിൽ, ഞങ്ങളുടെ ഫംഗ്ഷൻ എല്ലാം മാറ്റിസ്ഥാപിക്കുന്നതിനാൽ ഇവിടെ + ക്വാണ്ടിഫയർ ഇല്ലാതെ തന്നെ ചെയ്യാം. പൊരുത്തങ്ങൾ കണ്ടെത്തി. ക്വാണ്ടിഫയർ ഇത് കുറച്ച് വേഗത്തിലാക്കുന്നു - ഓരോ വ്യക്തിഗത പ്രതീകം കൈകാര്യം ചെയ്യുന്നതിനുപകരം, നിങ്ങൾ ഒരു സബ്സ്ട്രിംഗ് മാറ്റിസ്ഥാപിക്കുന്നു.
=RegExpReplace(A5, "[^a-z\.]+", "")
Excel-ലെ html ടാഗുകൾ നീക്കംചെയ്യാൻ Regex
ആദ്യം, HTML ഒരു സാധാരണ ഭാഷയല്ല എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്, അതിനാൽ സാധാരണ പദപ്രയോഗങ്ങൾ ഉപയോഗിച്ച് ഇത് പാഴ്സ് ചെയ്യുന്നത് മികച്ച മാർഗമല്ല. അതായത്, നിങ്ങളുടെ ഡാറ്റാസെറ്റ് ക്ലീനർ ആക്കുന്നതിന് നിങ്ങളുടെ സെല്ലുകളിൽ നിന്ന് ടാഗുകൾ നീക്കം ചെയ്യാൻ റീജക്സുകൾക്ക് തീർച്ചയായും സഹായിക്കാനാകും.
html ടാഗുകൾ എല്ലായ്പ്പോഴും ആംഗിൾ ബ്രാക്കറ്റുകൾക്കുള്ളിൽ സ്ഥാപിച്ചിരിക്കുന്നതിനാൽ, ഇനിപ്പറയുന്ന റീജക്സുകളിലൊന്ന് ഉപയോഗിച്ച് നിങ്ങൾക്ക് അവ കണ്ടെത്താനാകും.
നെഗേറ്റ് ചെയ്ത ക്ലാസ്:
പാറ്റേൺ : ]*>
ഇവിടെ, ഞങ്ങൾ ഒരു ഓപ്പണിംഗ് ആംഗിൾ ബ്രാക്കറ്റുമായി പൊരുത്തപ്പെടുന്നു, തുടർന്ന് ഏതെങ്കിലും പ്രതീകത്തിന്റെ പൂജ്യമോ അതിലധികമോ സംഭവങ്ങൾ ക്ലോസിംഗ് ആംഗിൾ ബ്രാക്കറ്റ് [^>]* ഏറ്റവും അടുത്തുള്ള ക്ലോസിംഗ് ആംഗിൾ ബ്രാക്കറ്റ് വരെ.
അലസമായ തിരയൽ:
പാറ്റേൺ :
ഇവിടെ, ഞങ്ങൾ പൊരുത്തപ്പെടുന്നു ആദ്യത്തെ ഓപ്പണിംഗ് ബ്രാക്കറ്റ് മുതൽ ആദ്യത്തെ ക്ലോസിംഗ് ബ്രാക്കറ്റ് വരെ. ചോദ്യചിഹ്നം .* എന്നത് കുറച്ച് പ്രതീകങ്ങളുമായി പൊരുത്തപ്പെടാൻ പ്രേരിപ്പിക്കുന്നുലൈൻ.
എല്ലാ വരികളും ഒരൊറ്റ സ്ട്രിംഗായി പ്രോസസ്സ് ചെയ്യുന്നതിന്:
ജനറിക് പാറ്റേൺ : char(.