Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්නඑක්සෙල් හි පෙළ සමඟ වැඩ කිරීමේදී වඩාත්ම කාලය ගතවන සහ කලකිරවන කාර්යයකි විග්‍රහ කිරීම - අක්ෂරාංක "කැඳ" සංරචක බවට විග්‍රහ කිරීම සහ එයින් අපට අවශ්‍ය කොටස් නිස්සාරණය කිරීම. උදාහරණ වශයෙන්:

  • ලිපිනයෙන් zip කේතය උපුටා ගැනීම (Zip කේතය සැමවිටම ආරම්භයේ තිබේ නම් හොඳයි, නමුත් එය එසේ නොවේ නම්?)
  • බැංකු ප්‍රකාශයේ ගෙවීම් විස්තරයෙන් ඉන්වොයිසියේ අංකය සහ දිනය සොයා ගැනීම
  • සගයන්ගේ ලැයිස්තුවේ ඇති සමාගම්වල වර්ණවත් විස්තර වලින් TIN උපුටා ගැනීම
  • විස්තරයේ කාර් අංකයක් හෝ ලිපි අංකයක් සොයන්න.

සාමාන්‍යයෙන් එවැනි අවස්ථාවන්හිදී, අතින් අකුරු තෝරා ගැනීමෙන් පැය භාගයකට පසු, මෙම ක්‍රියාවලිය ස්වයංක්‍රීය කිරීමට (විශේෂයෙන් දත්ත විශාල ප්‍රමාණයක් තිබේ නම්) කෙසේ හෝ සිතට සිතුවිලි පැමිණීමට පටන් ගනී. විසඳුම් කිහිපයක් ඇති අතර සංකීර්ණතා-කාර්යක්ෂමතාවයේ විවිධ මට්ටම් ඇත:

  • භාවිත බිල්ට්-ඉන් එක්සෙල් පෙළ ශ්‍රිත සෙවුම්-කැපු-මැලියම් පෙළ සඳහා: LEVSIMV (වමේ), රයිට් (අයිතිය), PSTR (මැද), STSEPIT (Concatenate) සහ එහි ඇනෙලොග්, ඒකාබද්ධ කරන්න (JOINTEXT), නිවැරදි (නිශ්චිත) යනාදිය පෙළෙහි පැහැදිලි තර්කයක් තිබේ නම් මෙම ක්රමය හොඳයි (උදාහරණයක් ලෙස, දර්ශකය සෑම විටම ලිපිනයේ ආරම්භයේ ඇත). එසේ නොමැති නම්, සූත්‍ර වඩාත් සංකීර්ණ වන අතර, සමහර විට, එය විශාල වගු මත බෙහෙවින් මන්දගාමී වන අරා සූත්‍රවලට පවා පැමිණේ.
  • භාවිතා කරමින් පෙළ සමානතා ක්රියාකරු වගේ අභිරුචි සාර්ව ශ්‍රිතයකින් ඔතා Visual Basic වෙතින්. මෙය ඔබට Wildcard අක්ෂර භාවිතයෙන් වඩාත් නම්‍යශීලී සෙවුමක් ක්‍රියාත්මක කිරීමට ඉඩ සලසයි (*, #,?, etc.) අවාසනාවකට, මෙම මෙවලමට අවශ්‍ය උපස්ථරය පෙළෙන් උපුටා ගත නොහැක - එය එහි අඩංගු දැයි පමණක් පරීක්ෂා කරන්න.

ඉහත කරුණු වලට අමතරව, වෘත්තීය ක්‍රමලේඛකයින්, වෙබ් සංවර්ධකයින් සහ වෙනත් තාක්‍ෂණවේදීන්ගේ පටු කවයන් තුළ ඉතා හොඳින් දන්නා තවත් ප්‍රවේශයක් තිබේ - මෙයයි. නිත්‍ය ප්‍රකාශන (සාමාන්‍ය ප්‍රකාශන = RegExp = "regexps" = "සාමාන්‍ය"). සරලව කිව්වොත්, RegExp යනු පෙළෙහි අවශ්‍ය උප තන්තු සෙවීමට, ඒවා උපුටා ගැනීමට හෝ වෙනත් පෙළ සමඟ ප්‍රතිස්ථාපනය කිරීමට විශේෂ අක්ෂර සහ රීති භාවිතා කරන භාෂාවකි.. නිත්‍ය ප්‍රකාශන යනු විශාලත්වයේ අනුපිළිවෙලකින් පෙළ සමඟ වැඩ කිරීමේ අනෙකුත් සියලුම ක්‍රම අභිබවා යන ඉතා ප්‍රබල හා අලංකාර මෙවලමකි. බොහෝ ක්‍රමලේඛන භාෂා (C#, PHP, Perl, JavaScript...) සහ පෙළ සංස්කාරක (Word, Notepad++...) සාමාන්‍ය ප්‍රකාශන සඳහා සහය දක්වයි.

මයික්‍රොසොෆ්ට් එක්සෙල් අවාසනාවන්ත ලෙස RegExp සහය නොපවතී, නමුත් මෙය පහසුවෙන් VBA සමඟ නිවැරදි කළ හැක. ටැබ් එකෙන් Visual Basic Editor එක විවෘත කරන්න සංවර්ධක (සංවර්ධක) හෝ යතුරුපුවරු කෙටිමං alt+F11. ඉන්පසු මෙනුව හරහා නව මොඩියුලය ඇතුල් කරන්න ඇතුල් කරන්න - මොඩියුලය සහ පහත සාර්ව ශ්‍රිතයේ පෙළ එහි පිටපත් කරන්න:

පොදු කාර්යය RegExpExtract(Text as String, Pattern as String, Optional Item as Integer = 1) String On Error GoTo ErrHandl Set regex = CreateObject("VBScript.RegExp") regex.Pattern = Pattern = Truest.GT නම් regex.T. (පෙළ) ඉන්පසු සකසන්න matches = regex.Execute(Text) RegExpExtract = matches.Item(අයිතමය - 1) Exit Function End නම් ErrHandl: RegExpExtract = CVErr(xlErrValue) End Function  

අපට දැන් දෘශ්‍ය මූලික සංස්කාරකය වසා අපගේ නව විශේෂාංගය අත්හදා බැලීමට Excel වෙත ආපසු යා හැක. එහි වාක්‍ය ඛණ්ඩය පහත පරිදි වේ.

=RegExpExtract( Txt ; රටාව ; අයිතමය )

එහිදී

  • txt - අපි පරීක්ෂා කරන සහ අපට අවශ්‍ය උප තන්තුව උකහා ගැනීමට අවශ්‍ය පෙළ සහිත කොටුවකි
  • රටාව - උපස්ථර සෙවීම සඳහා වෙස් මුහුණ (රටාව).
  • අයිතමය - නිස්සාරණය කළ යුතු උපස්ථරයේ අනුක්‍රමික අංකය, ඒවායින් කිහිපයක් තිබේ නම් (නිශ්චිතව දක්වා නොමැති නම්, පළමු සිදුවීම දර්ශනය වේ)

මෙහි ඇති වඩාත්ම සිත්ගන්නා කරුණ නම්, ඇත්ත වශයෙන්ම, රටා - RegExp හි "භාෂාවෙන්" විශේෂ අක්ෂර මාලාවක් වන අතර, එය හරියටම සහ අපට සොයා ගැනීමට අවශ්‍ය දේ නියම කරයි. ඔබ ආරම්භ කිරීමට වඩාත්ම මූලික ඒවා මෙන්න:

 රටාව  විස්තර
 . සරලම එක තිතක්. එය නියමිත ස්ථානයේ ඇති රටාවේ ඕනෑම අක්ෂරයකට ගැලපේ.
 s අවකාශයක් මෙන් පෙනෙන ඕනෑම චරිතයක් (අවකාශය, ටැබ්, හෝ රේඛා බිඳීම).
 S
පෙර රටාවේ ප්‍රති-විචල්‍යයක්, එනම් ඕනෑම සුදු අවකාශයක් නොවන චරිතයක්.
 d
ඕනෑම අංකයක්
 D
පෙර එකෙහි ප්‍රති-විචල්‍යයක්, එනම් ඕනෑම NOT ඉලක්කමක්
 w ඕනෑම ලතින් අක්ෂරයක් (AZ), ඉලක්කම් හෝ යටි ඉරි
 W පෙර එකෙහි ප්‍රති-විචල්‍යයක්, එනම් ලතින් නොවේ, සංඛ්‍යාවක් නොවේ සහ යටි ඉරි නොවේ.
[චරිත] හතරැස් වරහන් තුළ, ඔබට පෙළෙහි නිශ්චිත ස්ථානයේ අවසර දී ඇති අක්ෂර එකක් හෝ කිහිපයක් සඳහන් කළ හැක. උදාහරණ වශයෙන් කලාව ඕනෑම වචනයකට ගැලපේ: වගුවයි or පුටුවක්.

ඔබට අක්ෂර ගණන් කළ නොහැක, නමුත් ඒවා යටි ඉරකින් වෙන් කළ පරාසයක් ලෙස සකසන්න, එනම් වෙනුවට [ABDCDEF] ලියන්න [AF]. හෝ ඒ වෙනුවට [4567] හඳුන්වා දෙන්නෙමු [-4 7]. උදාහරණයක් ලෙස, සියලුම සිරිලික් අක්ෂර නම් කිරීම සඳහා, ඔබට අච්චුව භාවිතා කළ හැකිය [a-yaA-YayoYo].

[^චරිත] හතරැස් වරහන විවෘත කිරීමෙන් පසු "පියන" සංකේතය එක් කරන්න ^, එවිට කට්ටලය ප්රතිවිරුද්ධ අර්ථය ලබා ගනී - පෙළෙහි නිශ්චිත ස්ථානයේ, ලැයිස්තුගත කර ඇති ඒවා හැර, සියලු අක්ෂරවලට ඉඩ දෙනු ලැබේ. ඔව්, අච්චුව [^ЖМ]ut සොයා ගනීවි මාර්ගය or සංයෝගය or අමතක කරනවා, නමුත් නොවේ භයංකාර or මුට්, උදා.
 | බූලියන් ක්රියාකරු OR (හෝ) නිශ්චිත නිර්ණායක කිසිවක් පරීක්ෂා කිරීමට. උදාහරණ වශයෙන් (සිටබ්‍රහස්පතින්දාපවා|ඉන්වොයිස්) නිශ්චිත වචන වලින් ඕනෑම එකක් සඳහා පෙළ සොයනු ඇත. සාමාන්යයෙන්, විකල්ප කට්ටලයක් වරහන් තුළ කොටු කර ඇත.
 ^ රේඛාවේ ආරම්භය
 $ පේළියේ අවසානය
 b වචනයේ අවසානය

අපි නිශ්චිත අක්ෂර සංඛ්‍යාවක් සොයන්නේ නම්, උදාහරණයක් ලෙස, ඉලක්කම් හයක තැපැල් කේතයක් හෝ අකුරු තුනේ නිෂ්පාදන කේත, එවිට අපි ගලවා ගැනීමට පැමිණෙමු ප්‍රමාණාත්මක or ප්‍රමාණාත්මක සෙවිය යුතු අක්ෂර ගණන සඳහන් කරන විශේෂ ප්‍රකාශන වේ. ප්‍රමාණාංක එයට පෙර එන අක්ෂරයට යොදනු ලැබේ:

  Quantor  විස්තර
 ? ශුන්‍ය හෝ එක් සිදුවීමක්. උදාහරණ වශයෙන් .? කිසියම් චරිතයක් හෝ එහි නොපැවතීම අදහස් වනු ඇත.
 + ඇතුළත් කිරීම් එකක් හෝ කිහිපයක්. උදාහරණ වශයෙන් d+ යන්නෙන් අදහස් වන්නේ ඕනෑම ඉලක්කම් ගණනකි (එනම් 0 සහ අනන්තය අතර ඕනෑම සංඛ්‍යාවක්).
 * ශුන්‍ය හෝ වැඩි සිදුවීම්, එනම් ඕනෑම ප්‍රමාණයක්. ඒ නිසා s* යන්නෙන් අදහස් වන්නේ ඕනෑම ඉඩ ප්‍රමාණයක් හෝ හිස් ඉඩක් නොමැති බවයි.
{අංකය} or

{අංක 1,අංක 2}

ඔබට දැඩි ලෙස අර්ථ දක්වා ඇති සිදුවීම් සංඛ්‍යාවක් නියම කිරීමට අවශ්‍ය නම්, එය curly වරහන් තුළ සඳහන් වේ. උදාහරණ වශයෙන් d{6} දැඩි ලෙස ඉලක්කම් හයක් සහ රටාව අදහස් වේ s{2,5} - අවකාශයන් දෙකේ සිට පහ දක්වා

දැන් අපි වඩාත් සිත්ගන්නා කොටස වෙත යමු - නිර්මාණය කරන ලද ශ්‍රිතයේ යෙදුම සහ ජීවිතයෙන් ප්‍රායෝගික උදාහරණ මත රටා ගැන අප ඉගෙන ගත් දේ විශ්ලේෂණය කිරීම.

පෙළෙන් අංක උපුටා ගැනීම

ආරම්භ කිරීම සඳහා, අපි සරල නඩුවක් විශ්ලේෂණය කරමු - ඔබ අක්ෂරාංක කැඳෙන් පළමු අංකය ලබා ගත යුතුය, උදාහරණයක් ලෙස, මිල ලැයිස්තුවෙන් අඛණ්ඩ බල සැපයුම්වල බලය:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

නිත්‍ය ප්‍රකාශනය පිටුපස ඇති තර්කය සරල ය: d ඕනෑම ඉලක්කමක්, සහ ප්‍රමාණකාරකය අදහස් වේ + ඔවුන්ගේ සංඛ්යාව එකක් හෝ වැඩි ගණනක් විය යුතු බව පවසයි. ශ්‍රිතය ඉදිරියෙන් ඇති ද්විත්ව අඩු කිරීම අවශ්‍ය වන්නේ "පියාඹන විට" නිස්සාරණය කරන ලද අක්ෂර සංඛ්‍යාව ලෙස පෙළෙන් සම්පූර්ණ සංඛ්‍යාවක් බවට පරිවර්තනය කිරීමටය.

තැපැල් ලිපිනය

මුලින්ම බැලූ බැල්මට, මෙහි සෑම දෙයක්ම සරලයි - අපි පේළියක හරියටම ඉලක්කම් හයක් සොයනවා. අපි විශේෂ චරිතයක් භාවිතා කරමු d ඉලක්කම් සහ ප්‍රමාණකය සඳහා 6 {} අක්ෂර ගණන සඳහා:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

කෙසේ වෙතත්, පේළියේ දර්ශකයේ වම් පසින්, පේළියේ තවත් විශාල සංඛ්‍යා කට්ටලයක් (දුරකථන අංකය, TIN, බැංකු ගිණුම, ආදිය) ඇති විට තත්වයක් ඇතිවිය හැකිය, එවිට අපගේ සාමාන්‍ය වාරය පළමු 6 ඉවත් කරනු ඇත. එයින් ඉලක්කම්, එනම් නිවැරදිව ක්‍රියා නොකරනු ඇත:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

මෙය සිදුවීම වලක්වා ගැනීම සඳහා, අපි අපගේ නිත්‍ය ප්‍රකාශනයේ දාර වටා විකරණයක් එක් කළ යුතුය b වචනයක අවසානය සනිටුහන් කරයි. අපට අවශ්‍ය කොටස (දර්ශකය) වෙනම වචනයක් විය යුතු අතර වෙනත් කොටසක (දුරකථන අංකය) නොවන බව මෙය Excel වෙත පැහැදිලි කරයි:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

දුරකථන

පෙළෙහි දුරකථන අංකයක් සොයා ගැනීමේ ගැටලුව වන්නේ අංක ලිවීම සඳහා බොහෝ විකල්ප තිබීමයි - හයිෆන්ස් සමඟ සහ රහිතව, හිස්තැන් හරහා, වරහන් තුළ කලාප කේතයක් සමඟ හෝ නැතිව යනාදිය. එබැවින්, මගේ මතය අනුව, එය පහසු ය. ප්‍රථමයෙන් කැදලි ශ්‍රිත කිහිපයක් භාවිතා කර මූලාශ්‍ර පාඨයෙන් මෙම අක්ෂර සියල්ල පිරිසිදු කරන්න විෂය (ආදේශක)එය තනි සමස්තයක් ලෙස එකට ඇලී සිටින පරිදි, පසුව ප්රාථමික නිතිපතා සමග d{11} පේළියක ඉලක්කම් 11 ක් අදින්න:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

ITN

TIN (අපේ රටේ) ඉලක්කම් 10 (නීතිමය ආයතන සඳහා) හෝ ඉලක්කම් 12 (පුද්ගලයින් සඳහා) විය හැකි නිසා මෙහි එය ටිකක් සංකීර්ණයි. ඔබ විශේෂයෙන් වරදක් සොයා නොගන්නේ නම්, නිතිපතා සමඟ සෑහීමකට පත් විය හැකිය d{10,12}, නමුත්, දැඩි ලෙස කථා කරන විට, එය අක්ෂර 10 සිට 12 දක්වා සියලුම අංක ඉවත් කරනු ඇත, එනම් සහ වැරදි ලෙස ඉලක්කම් 11 ක් ඇතුළත් කර ඇත. තාර්කික හෝ ක්‍රියාකරුවෙකු විසින් සම්බන්ධ කරන ලද රටා දෙකක් භාවිතා කිරීම වඩාත් නිවැරදි වනු ඇත | (සිරස් තීරුව):

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

විමසුමේදී අපි මුලින්ම 12-bit අංක සඳහා සොයන අතර පසුව 10-bit අංක සඳහා පමණක් බව කරුණාවෙන් සලකන්න. අපි අපේ සාමාන්‍ය ප්‍රකාශනය අනෙක් පැත්තට ලියන්නේ නම්, එය සෑම කෙනෙකුටම, දිගු 12-bit TINs පවා, පළමු අකුරු 10 සඳහා පමණක් ලබා ගනී. එනම්, පළමු කොන්දේසිය ක්‍රියාත්මක කිරීමෙන් පසුව, වැඩිදුර සත්‍යාපනය තවදුරටත් සිදු නොකෙරේ:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

ක්රියාකරු අතර ඇති මූලික වෙනස මෙයයි | සම්මත එක්සෙල් තාර්කික ශ්‍රිතයකින් OR (හෝ), තර්ක නැවත සකස් කිරීමෙන් ප්‍රතිඵලය වෙනස් නොවේ.

නිෂ්පාදන SKUs

බොහෝ සමාගම්වල, භාණ්ඩ හා සේවා සඳහා අනන්‍ය හඳුනාගැනීම් පවරනු ලැබේ - ලිපි, SAP කේත, SKU යනාදිය. ඒවායේ අංකනයෙහි තර්කනය තිබේ නම්, සාමාන්‍ය ප්‍රකාශන භාවිතයෙන් ඕනෑම පෙළකින් ඒවා පහසුවෙන් ඉවත් කළ හැකිය. උදාහරණයක් ලෙස, අපගේ ලිපි සෑම විටම විශාල ඉංග්‍රීසි අකුරු තුනකින්, යටි ඉරකින් සහ පසුව ඉලක්කම් තුනකින් සමන්විත වන බව අපි දන්නේ නම්, එසේ නම්:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

සැකිල්ල පිටුපස ඇති තර්කය සරලයි. [AZ] - ලතින් හෝඩියේ ඕනෑම ලොකු අකුරක් අදහස් වේ. ඊළඟ ප්‍රමාණාංකකය 3 {} හරියටම එවැනි ලිපි තුනක් තිබීම අපට වැදගත් බව පවසයි. ඉරෙන් පසුව, අපි ඉලක්කම් තුනක් බලා සිටිමු, එබැවින් අපි අවසානයේ එකතු කරමු d{3}

මුදල් ප්රමාණ

පෙර ඡේදයට සමාන ආකාරයකින්, ඔබට භාණ්ඩ විස්තරයෙන් මිල (පිරිවැය, වැට් බදු ...) ඉවත් කළ හැකිය. මුදල් ප්‍රමාණයන්, උදාහරණයක් ලෙස, යටි ඉරකින් දක්වා තිබේ නම්, එවිට:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

රටාව d quantifier සමඟ + යටි ඉරක් දක්වා ඕනෑම අංකයක් සොයයි, සහ d{2} පසුව සතයක් (ඉලක්කම් දෙකක්) සොයනු ඇත.

ඔබට උපුටා ගැනීමට අවශ්‍ය වන්නේ මිල ගණන් නොව VAT නම්, එවිට ඔබට අපගේ RegExpExtract ශ්‍රිතයේ තුන්වන විකල්ප තර්කය භාවිතා කළ හැක, එය උපුටා ගත යුතු මූලද්‍රව්‍යයේ සාමාන්‍ය අංකය සඳහන් කරයි. තවද, ඇත්ත වශයෙන්ම, ඔබට කාර්යය ප්රතිස්ථාපනය කළ හැකිය විෂය (ආදේශක) ප්‍රතිඵලවල, සම්මත දශම බෙදුම්කරුට යටිකුරු කර ආරම්භයේ දී ද්විත්ව අඩුවක් එක් කරන්න එවිට Excel විසින් සොයාගත් වැට් බද්ද සාමාන්‍ය සංඛ්‍යාවක් ලෙස අර්ථකථනය කරයි:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

කාර් තහඩු අංක

ඔබ විශේෂ වාහන, ට්‍රේලර් සහ වෙනත් යතුරුපැදි නොගන්නේ නම්, "අකුරු - අංක තුනක් - අකුරු දෙකක් - කලාප කේතය" යන මූලධර්මය අනුව සම්මත මෝටර් රථ අංකය විග්‍රහ කර ඇත. එපමණක් නොව, කලාපීය කේතය ඉලක්කම් 2- හෝ 3 විය හැකි අතර, ලතින් හෝඩියේ පෙනුමට සමාන ඒවා පමණක් අකුරු ලෙස භාවිතා කරයි. මේ අනුව, පහත දැක්වෙන නිත්‍ය ප්‍රකාශනය අපට පෙළෙන් සංඛ්‍යා උකහා ගැනීමට උපකාරී වේ:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

කාලය

HH:MM ආකෘතියෙන් කාලය උකහා ගැනීමට, පහත නිත්‍ය ප්‍රකාශනය සුදුසු වේ:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

මහා බඩවැලේ කොටසින් පසු [0-5]d, එය තේරුම් ගැනීමට පහසු වන පරිදි, 00-59 පරාසයේ ඕනෑම අංකයක් සකසයි. වරහන් තුළ ඇති කොලනයට පෙර, තාර්කික OR (නල) මගින් වෙන් කරන ලද රටා දෙකක් ක්‍රියා කරයි:

  • [0-1]d - 00-19 පරාසයේ ඕනෑම අංකයක්
  • 2[0-3] - 20-23 පරාසයේ ඕනෑම අංකයක්

ලබාගත් ප්රතිඵලය සඳහා, ඔබට සම්මත Excel ශ්රිතය අතිරේකව යෙදිය හැකිය කාලය (කණ්ඩායම)එය වැඩසටහනට තේරුම් ගත හැකි සහ වැඩිදුර ගණනය කිරීම් සඳහා සුදුසු කාල ආකෘතියක් බවට පරිවර්තනය කිරීමට.

මුරපදය පරීක්ෂා කිරීම

නිවැරදි බව සඳහා පරිශීලකයින් විසින් සොයා ගන්නා ලද මුරපද ලැයිස්තුව පරීක්ෂා කිරීමට අපට අවශ්‍ය යැයි සිතමු. අපගේ නීති වලට අනුව, මුරපද අඩංගු විය හැක්කේ ඉංග්‍රීසි අකුරු (කුඩා අකුරු හෝ ලොකු අකුරු) සහ අංක පමණි. අවකාශ, යටි ඉරි සහ වෙනත් විරාම ලකුණු වලට ඉඩ නොදේ.

පහත සරල නිත්‍ය ප්‍රකාශනය භාවිතයෙන් පරීක්ෂා කිරීම සංවිධානය කළ හැක:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

ඇත්ත වශයෙන්ම, එවැනි රටාවක් සමඟ අපට ආරම්භය අතර එය අවශ්‍ය වේ (^) හා අවසන් ($) අපගේ පාඨයේ තිබුණේ හතරැස් වරහන් වලින් ලබා දී ඇති කට්ටලයේ අක්ෂර පමණි. ඔබට මුරපදයේ දිගද පරීක්ෂා කිරීමට අවශ්‍ය නම් (උදාහරණයක් ලෙස, අවම වශයෙන් අක්ෂර 6ක්), එවිට ප්‍රමාණාංකකය + පෝරමයේ "හය හෝ වැඩි" පරතරය මගින් ප්රතිස්ථාපනය කළ හැක {6,}:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

ලිපිනයෙන් නගරය

අපි හිතමු අපි නගරය ලිපින තීරුවෙන් අදින්න ඕන කියලා. සාමාන්‍ය වැඩසටහන උපකාර වනු ඇත, "g" වෙතින් පෙළ උපුටා ගැනීම ඊළඟ කොමාවට:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

මෙම රටාව දෙස සමීපව බලමු.

ඔබ ඉහත පාඨය කියවා ඇත්නම්, සාමාන්‍ය ප්‍රකාශනවල (කාලසීමා, තරු ලකුණු, ඩොලර් සලකුණු ආදිය) සමහර අක්ෂර විශේෂ අර්ථයක් ඇති බව ඔබ දැනටමත් තේරුම් ගෙන ඇත. ඔබට මෙම අක්ෂර සෙවීමට අවශ්‍ය නම්, ඒවාට පෙර පසුබෑමක් (සමහර විට හැඳින්වේ පලිහ) එමනිසා, "g" කොටස සොයන විට අපි නිතිපතා ප්‍රකාශනයෙන් ලිවිය යුතුයි මහතා. අපි ප්ලස් එකක් සොයන්නේ නම්, එසේ නම් + ආදිය

අපගේ අච්චුවේ ඊළඟ අක්ෂර දෙක, තිත සහ ප්‍රමාණාත්මක තරු ලකුණ, ඕනෑම අක්ෂර සංඛ්‍යාවක්, එනම් ඕනෑම නගරයක නමක් නියෝජනය කරයි.

අච්චුවේ අවසානයේ කොමාවක් ඇත, මන්ද අපි "g" වෙතින් පෙළ සොයමින් සිටිමු. කොමාවකට. නමුත් පාඨයේ කොමා කිහිපයක් තිබිය හැකියි නේද? නගරයෙන් පසුව පමණක් නොව, පාර, ගෙවල් ආදියෙන් පසුවද අපගේ ඉල්ලීම නතර වන්නේ කුමන ඒවා මතද? ඒකට තමයි ප්‍රශ්නාර්ථ ලකුණ. එය නොමැතිව, අපගේ නිත්‍ය ප්‍රකාශනය හැකි දිගම නූල ඉවත් කරනු ඇත:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

නිතිපතා ප්රකාශනයන් අනුව, එවැනි රටාවක් "කෑදර" වේ. තත්ත්වය නිවැරදි කිරීම සඳහා, ප්‍රශ්නාර්ථ ලකුණක් අවශ්‍ය වේ - එය ප්‍රමාණාංකකය පසුව එය "මිහිරි" බවට පත් කරයි - සහ අපගේ විමසුම "g" ට පසු පළමු කවුන්ටර කොමාව දක්වා පමණක් පෙළ ගෙන යයි:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

සම්පූර්ණ මාර්ගයෙන් ගොනු නාමය

තවත් ඉතා පොදු තත්වයක් වන්නේ සම්පූර්ණ මාර්ගයෙන් ගොනු නාමය උපුටා ගැනීමයි. පෝරමයේ සරල නිත්‍ය ප්‍රකාශනයක් මෙහි උපකාරී වනු ඇත:

Excel හි සාමාන්‍ය ප්‍රකාශන (RegExp) සමඟ පෙළ විග්‍රහ කරන්න

මෙහි ඇති උපක්‍රමය නම්, සෙවීම, ඇත්ත වශයෙන්ම, ප්‍රතිවිරුද්ධ දිශාවට සිදු වේ - අවසානයේ සිට ආරම්භය දක්වා, මන්ද අපගේ අච්චුවේ අවසානයේ $, සහ අපි දකුණේ සිට පළමු පසුබෑම දක්වා එයට පෙර සියල්ල සොයමු. පෙර උදාහරණයේ තිත මෙන් backslash ගැලවී ඇත.

PS

"අවසානයට" මට පැහැදිලි කිරීමට අවශ්‍ය වන්නේ ඉහත සඳහන් සියල්ල නිත්‍ය ප්‍රකාශන සපයන සියලු හැකියාවන්ගෙන් කුඩා කොටසක් බවයි. ඒවායේ භාවිතය සඳහා විශේෂ අක්ෂර සහ රීති රාශියක් ඇති අතර, මෙම මාතෘකාව පිළිබඳ සම්පූර්ණ පොත් ලියා ඇත (මම අවම වශයෙන් මෙය ආරම්භ කිරීම සඳහා නිර්දේශ කරමි). එක් අතකින් සාමාන්‍ය ප්‍රකාශන ලිවීම පාහේ කලාවකි. සෑම විටම පාහේ, නව නිපැයුම් නිත්‍ය ප්‍රකාශනයක් වැඩිදියුණු කළ හැකි හෝ අතිරේක කළ හැකි අතර, එය වඩාත් අලංකාර හෝ පුළුල් පරාසයක ආදාන දත්ත සමඟ වැඩ කිරීමට හැකි වේ.

වෙනත් පුද්ගලයින්ගේ නිත්‍ය ප්‍රකාශන විශ්ලේෂණය කිරීමට සහ විග්‍රහ කිරීමට හෝ ඔබේම දෝෂහරණය කිරීමට, පහසු සබැඳි සේවා කිහිපයක් තිබේ: RegEx101, RegExr සහ තවත්

අවාසනාවකට මෙන්, සම්භාව්‍ය නිත්‍ය ප්‍රකාශනවල සියලුම අංග VBA හි සහාය නොදක්වයි (උදාහරණයක් ලෙස, ප්‍රතිලෝම සෙවීම හෝ POSIX පන්ති) සහ සිරිලික් සමඟ වැඩ කළ හැකි නමුත්, ඔබ සතුටු කිරීමට ප්‍රථම වරට එහි ඇති දේ ප්‍රමාණවත් යැයි මම සිතමි.

ඔබ මාතෘකාවට අලුත් නොවේ නම් සහ ඔබට බෙදා ගැනීමට යමක් තිබේ නම්, පහත අදහස් දැක්වීමේදී Excel හි වැඩ කිරීමේදී ප්‍රයෝජනවත් නිතිපතා ප්‍රකාශන තබන්න. එක මනසක් හොඳයි, නමුත් බූට් දෙකක් යුගලයක්!

  • SUBSTITUTE ශ්‍රිතය සමඟ පෙළ ප්‍රතිස්ථාපනය කිරීම සහ පිරිසිදු කිරීම
  • පෙළෙහි ලතින් අක්ෂර සෙවීම සහ උද්දීපනය කිරීම
  • ආසන්නතම සමාන පෙළ සොයන්න (Ivanov = Ivonov = Ivanof, ආදිය)

ඔබමයි