ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excelកិច្ចការមួយក្នុងចំណោមកិច្ចការដែលចំណាយពេល និងខកចិត្តបំផុតនៅពេលធ្វើការជាមួយអត្ថបទក្នុង Excel គឺ ញែក - ញែក "បបរ" អក្សរក្រមលេខទៅជាសមាសធាតុ និងទាញយកបំណែកដែលយើងត្រូវការពីវា។ ឧទាហរណ៍:

  • ទាញយកកូដហ្ស៊ីបពីអាសយដ្ឋាន (វាល្អប្រសិនបើលេខកូដហ្ស៊ីបតែងតែនៅដើមដំបូង ប៉ុន្តែចុះយ៉ាងណាបើវាមិនមែន?)
  • ការស្វែងរកលេខ និងកាលបរិច្ឆេទនៃវិក្កយបត្រពីការពិពណ៌នានៃការទូទាត់នៅក្នុងរបាយការណ៍ធនាគារ
  • ការទាញយក TIN ពីការពិពណ៌នា motley របស់ក្រុមហ៊ុននៅក្នុងបញ្ជីដៃគូ
  • ស្វែងរកលេខរថយន្ត ឬលេខអត្ថបទនៅក្នុងការពិពណ៌នា។ល។

ជាធម្មតានៅក្នុងករណីបែបនេះ បន្ទាប់ពីពាក់កណ្តាលម៉ោងនៃការជ្រើសរើសអត្ថបទដែលគួរឱ្យខ្លាចនៅក្នុងសៀវភៅដោយដៃ គំនិតចាប់ផ្តើមគិតពីរបៀបធ្វើស្វ័យប្រវត្តិកម្មដំណើរការនេះ (ជាពិសេសប្រសិនបើមានទិន្នន័យច្រើន)។ មានដំណោះស្រាយជាច្រើន ហើយជាមួយនឹងកម្រិតខុសគ្នានៃភាពស្មុគស្មាញ-ប្រសិទ្ធភាព៖

  • ការប្រើ មុខងារអត្ថបទ Excel ដែលភ្ជាប់មកជាមួយ ដើម្បីស្វែងរកអត្ថបទ កាត់-កាវ៖ LEVSIMV (ខាងឆ្វេង), សិទ្ធិ (ត្រឹមត្រូវ), ភី (ពាក់​ក​ណ្តា​ល), STsEPIT (ភ្ជាប់) និង analogues របស់វា។, COMBINE ។ (JOINTEXT), ជាក់ស្តែង (ពិតប្រាកដ) ល។ វិធីសាស្ត្រនេះគឺល្អប្រសិនបើមានតក្កវិជ្ជាច្បាស់លាស់នៅក្នុងអត្ថបទ (ឧទាហរណ៍ លិបិក្រមតែងតែនៅដើមអាសយដ្ឋាន)។ បើមិនដូច្នេះទេ រូបមន្តកាន់តែស្មុគស្មាញ ហើយជួនកាលវាឈានដល់រូបមន្តអារេ ដែលបន្ថយល្បឿនយ៉ាងខ្លាំងនៅលើតារាងធំ។
  • ការប្រើ ដូចជាប្រតិបត្តិករភាពស្រដៀងគ្នាអត្ថបទ ពី Visual Basic រុំក្នុងមុខងារម៉ាក្រូផ្ទាល់ខ្លួន។ នេះអនុញ្ញាតឱ្យអ្នកអនុវត្តការស្វែងរកដែលអាចបត់បែនបានដោយប្រើតួអក្សរជំនួស (*, #,?, etc.) ជាអកុសល ឧបករណ៍នេះមិនអាចស្រង់ខ្សែអក្សររងដែលចង់បានចេញពីអត្ថបទបានទេ - ពិនិត្យមើលថាតើវាមាននៅក្នុងវាឬអត់។

បន្ថែមពីលើចំណុចខាងលើ មានវិធីសាស្រ្តមួយផ្សេងទៀតដែលត្រូវបានគេស្គាល់យ៉ាងច្បាស់នៅក្នុងរង្វង់តូចចង្អៀតនៃអ្នកសរសេរកម្មវិធីដែលមានជំនាញវិជ្ជាជីវៈ អ្នកបង្កើតគេហទំព័រ និងបច្ចេកវិទ្យាផ្សេងទៀត - នេះគឺជា កន្សោមធម្មតា (កន្សោមធម្មតា = RegExp = "regexps" = "ទៀងទាត់") ។ និយាយដោយសាមញ្ញថា RegExp គឺជាភាសាដែលតួអក្សរ និងច្បាប់ពិសេសត្រូវបានប្រើដើម្បីស្វែងរកខ្សែអក្សររងចាំបាច់នៅក្នុងអត្ថបទ ស្រង់ពួកវា ឬជំនួសពួកវាដោយអត្ថបទផ្សេងទៀត. កន្សោមធម្មតាគឺជាឧបករណ៍ដ៏មានឥទ្ធិពល និងស្រស់ស្អាតដែលលើសពីវិធីផ្សេងទៀតទាំងអស់នៃការធ្វើការជាមួយអត្ថបទដោយលំដាប់នៃរ៉ិចទ័រ។ ភាសាសរសេរកម្មវិធីជាច្រើន (C#, PHP, Perl, JavaScript…) និងកម្មវិធីនិពន្ធអត្ថបទ (Word, Notepad ++…) គាំទ្រកន្សោមធម្មតា។

ជាអកុសល Microsoft Excel មិនមានការគាំទ្រ RegExp ចេញពីប្រអប់នោះទេប៉ុន្តែវាអាចត្រូវបានជួសជុលយ៉ាងងាយស្រួលជាមួយ VBA ។ បើកកម្មវិធីនិពន្ធ Visual Basic ពីផ្ទាំង អ្នកអភិវឌ្ឍ (អ្នកអភិវឌ្ឍន៍) ឬផ្លូវកាត់ក្តារចុច alt+F11. បន្ទាប់មកបញ្ចូលម៉ូឌុលថ្មីតាមរយៈម៉ឺនុយ បញ្ចូល - ម៉ូឌុល ហើយចម្លងអត្ថបទនៃមុខងារម៉ាក្រូខាងក្រោមនៅទីនោះ៖

មុខងារសាធារណៈ RegExpExtract(Text As String, Pattern As String, ជម្រើសធាតុជាចំនួនគត់ = 1) As String On Error GoTo ErrHandl Set regex = CreateObject("VBScript.RegExp") regex.Pattern = Pattern regex.Global = True ប្រសិនបើ regex.Test (អត្ថបទ) បន្ទាប់មកកំណត់ការផ្គូផ្គង = regex.Execute(Text) RegExpExtract = matches.Item(Item - 1) Exit Function End ប្រសិនបើ ErrHandl: RegExpExtract = CVErr(xlErrValue) End Function  

ឥឡូវនេះ យើងអាចបិទ Visual Basic Editor ហើយត្រឡប់ទៅ Excel ដើម្បីសាកល្បងមុខងារថ្មីរបស់យើង។ វាក្យសម្ព័ន្ធរបស់វាមានដូចខាងក្រោម៖

=RegExpExtract(txt; លំនាំ; ធាតុ)

ដែលជាកន្លែងដែល

  • txt – ក្រឡា​មួយ​ដែល​មាន​អត្ថបទ​ដែល​យើង​កំពុង​ពិនិត្យ និង​ពី​ការ​ដែល​យើង​ចង់​ទាញ​យក substring ដែល​យើង​ត្រូវ​ការ
  • លំនាំ - របាំង (លំនាំ) សម្រាប់ការស្វែងរកខ្សែអក្សររង
  • ធាតុ - លេខ​លំដាប់​នៃ​ខ្សែអក្សរ​រង​ដែល​ត្រូវ​ដក​ចេញ បើ​មាន​ច្រើន​ក្នុង​ចំណោម​នោះ (ប្រសិន​បើ​មិន​បាន​បញ្ជាក់ នោះ​ការ​កើត​ឡើង​ដំបូង​នឹង​ត្រូវ​បាន​បង្ហាញ)

អ្វីដែលគួរឱ្យចាប់អារម្មណ៍បំផុតនៅទីនេះគឺ លំនាំ ដែលជាខ្សែអក្សរគំរូនៃតួអក្សរពិសេស "ជាភាសា" របស់ RegExp ដែលបញ្ជាក់ពីអ្វីដែលពិតប្រាកដ និងកន្លែងដែលយើងចង់ស្វែងរក។ នេះ​ជា​ចំណុច​មូលដ្ឋាន​បំផុត​ដើម្បី​ឱ្យ​អ្នក​ចាប់​ផ្ដើម៖

 លំនាំ  ការពិពណ៌នា
 . សាមញ្ញបំផុតគឺចំណុច។ វាផ្គូផ្គងតួអក្សរណាមួយនៅក្នុងលំនាំនៅទីតាំងដែលបានបញ្ជាក់។
 s តួអក្សរណាមួយដែលមើលទៅដូចជាដកឃ្លា (ដកឃ្លា ផ្ទាំង ឬបន្ទាត់បំបែក)។
 S
វ៉ារ្យ៉ង់ប្រឆាំងនៃលំនាំមុន ពោលគឺ តួអក្សរដែលមិនមានចន្លោះពណ៌ស។
 d
លេខណាមួយ
 D
ការប្រឆាំងវ៉ារ្យ៉ង់នៃលេខមុន ពោលគឺលេខណាដែលមិនមែនជាលេខ
 w អក្សរឡាតាំងណាមួយ (AZ) ខ្ទង់ ឬគូសគូស
 W វ៉ារ្យ៉ង់ប្រឆាំងនៃកំណែមុន ពោលគឺមិនមែនឡាតាំង មិនមែនជាលេខ និងមិនមែនជាសញ្ញាគូសក្រោម។
[តួអក្សរ] ក្នុង​តង្កៀប​ការ៉េ អ្នក​អាច​បញ្ជាក់​តួអក្សរ​មួយ ឬ​ច្រើន​ដែល​អនុញ្ញាត​នៅ​ទីតាំង​ដែល​បាន​បញ្ជាក់​ក្នុង​អត្ថបទ។ ឧទាហរណ៍ សិល្បៈ នឹងផ្គូផ្គងពាក្យណាមួយ៖ តារាង or ប្រធាន.

អ្នកក៏មិនអាចរាប់បញ្ចូលតួអក្សរបានដែរ ប៉ុន្តែកំណត់ពួកវាជាជួរដែលបំបែកដោយសហសញ្ញា ពោលគឺជំនួសឱ្យ [ABDCDEF] សរសេរ [AF]. ឬជំនួសវិញ។ [4567] ណែនាំ [-៤ ៧]. ឧទាហរណ៍ ដើម្បី​កំណត់​តួអក្សរ Cyrillic ទាំងអស់ អ្នក​អាច​ប្រើ​ពុម្ព [a-yaA-YayoYo].

[^តួអក្សរ] ប្រសិនបើបន្ទាប់ពីបើកតង្កៀបការ៉េបន្ថែមនិមិត្តសញ្ញា "គំរប" ^បន្ទាប់មកសំណុំនឹងទទួលបានអត្ថន័យផ្ទុយ – នៅទីតាំងដែលបានបញ្ជាក់នៅក្នុងអត្ថបទ តួអក្សរទាំងអស់នឹងត្រូវបានអនុញ្ញាត លើកលែងតែសម្រាប់អ្នកដែលបានរាយបញ្ជី។ បាទ គំរូ [^ЖМ] ut នឹង​ស្វែងរក ផ្លូវ or សារធាតុ or ភ្លេចប៉ុន្តែមិនមែនទេ គួរឱ្យខ្លាច or មុត, ឧ។
 | ប្រតិបត្តិករប៊ូលីន OR (ឬ) ដើម្បីពិនិត្យមើលលក្ខណៈវិនិច្ឆ័យណាមួយដែលបានបញ្ជាក់។ ឧទាហរណ៍ (ពីធូ|សeven|វិក្កយបត្រ) នឹងស្វែងរកអត្ថបទសម្រាប់ពាក្យណាមួយដែលបានបញ្ជាក់។ ជាធម្មតា សំណុំនៃជម្រើសត្រូវបានរុំព័ទ្ធក្នុងវង់ក្រចក។
 ^ ការចាប់ផ្តើមនៃបន្ទាត់
 $ ចុងបញ្ចប់នៃបន្ទាត់
 b ចុងបញ្ចប់នៃពាក្យ

ប្រសិនបើយើងកំពុងស្វែងរកចំនួនតួអក្សរជាក់លាក់ ឧទាហរណ៍ លេខកូដប្រៃសណីយ៍ ប្រាំមួយខ្ទង់ ឬលេខកូដផលិតផលដែលមានអក្សរបី នោះយើងមកជួយសង្គ្រោះ បរិមាណ or បរិមាណ គឺជាកន្សោមពិសេសដែលបញ្ជាក់ចំនួនតួអក្សរដែលត្រូវស្វែងរក។ Quantifiers ត្រូវបានអនុវត្តចំពោះតួអក្សរដែលមកមុនវា៖

  Quantor  ការពិពណ៌នា
 ? សូន្យ ឬមួយកើតឡើង។ ឧទាហរណ៍ .? នឹងមានន័យថាតួអក្សរណាមួយឬអវត្តមានរបស់វា។
 + ធាតុមួយ ឬច្រើន។ ឧទាហរណ៍ d+ មានន័យថាចំនួនខ្ទង់ណាមួយ (ឧទាហរណ៍លេខណាមួយរវាង 0 និងគ្មានកំណត់)។
 * សូន្យ ឬច្រើនកើតឡើង ពោលគឺបរិមាណណាមួយ។ ដូច្នេះ s* មានន័យថាចំនួនចន្លោះ ឬគ្មានចន្លោះ។
{លេខ} or

{លេខ ២,លេខ ២}

ប្រសិនបើអ្នកត្រូវការបញ្ជាក់ចំនួនដែលបានកំណត់យ៉ាងតឹងរ៉ឹង នោះវាត្រូវបានបញ្ជាក់នៅក្នុងដង្កៀបអង្កាញ់។ ឧទាហរណ៍ ឃ{6} មានន័យថា ប្រាំមួយខ្ទង់យ៉ាងតឹងរ៉ឹង និងលំនាំ ស{2,5} - ចន្លោះពីរទៅប្រាំ

ឥឡូវនេះសូមបន្តទៅផ្នែកដែលគួរឱ្យចាប់អារម្មណ៍បំផុត - ការវិភាគនៃការអនុវត្តមុខងារដែលបានបង្កើតនិងអ្វីដែលយើងបានរៀនអំពីគំរូលើឧទាហរណ៍ជាក់ស្តែងពីជីវិត។

ការដកលេខចេញពីអត្ថបទ

ដើម្បីចាប់ផ្តើម ចូរយើងវិភាគករណីសាមញ្ញមួយ - អ្នកត្រូវដកលេខទីមួយចេញពីបបរអក្សរលេខ ឧទាហរណ៍ ថាមពលនៃការផ្គត់ផ្គង់ថាមពលដែលមិនអាចរំខានបានពីបញ្ជីតម្លៃ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

តក្កវិជ្ជានៅពីក្រោយកន្សោមធម្មតាគឺសាមញ្ញ៖ d មានន័យថាលេខណាមួយ និងបរិមាណ + និយាយថាលេខរបស់ពួកគេគួរតែមានមួយ ឬច្រើន។ ដកពីរដងនៅពីមុខមុខងារគឺត្រូវការដើម្បី "រហ័ស" បំប្លែងតួអក្សរដែលបានស្រង់ចេញទៅជាលេខពេញពីលេខដូចអត្ថបទ។

លេខកូដប្រៃសណីយ៍

នៅ glance ដំបូង អ្វីគ្រប់យ៉ាងគឺសាមញ្ញនៅទីនេះ - យើងកំពុងស្វែងរកចំនួនប្រាំមួយខ្ទង់ជាប់ៗគ្នា។ យើងប្រើតួអក្សរពិសេស d សម្រាប់លេខ និងបរិមាណ 6 {} សម្រាប់ចំនួនតួអក្សរ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ទោះយ៉ាងណាក៏ដោយ ស្ថានភាពមួយអាចធ្វើទៅបាននៅពេលដែលនៅខាងឆ្វេងនៃសន្ទស្សន៍ក្នុងបន្ទាត់ មានលេខធំមួយទៀតនៅក្នុងជួរ (លេខទូរស័ព្ទ TIN គណនីធនាគារ។ល។) បន្ទាប់មករដូវធម្មតារបស់យើងនឹងដកលេខ 6 ដំបូង។ លេខពីវា ពោលគឺនឹងមិនដំណើរការត្រឹមត្រូវទេ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ដើម្បីទប់ស្កាត់កុំឱ្យវាកើតឡើង យើងត្រូវបន្ថែមកម្មវិធីកែប្រែជុំវិញគែមនៃកន្សោមធម្មតារបស់យើង។ b មានន័យថាចុងបញ្ចប់នៃពាក្យ។ នេះនឹងធ្វើឱ្យវាច្បាស់ដល់ Excel ថាបំណែក (លិបិក្រម) ដែលយើងត្រូវការគួរតែជាពាក្យដាច់ដោយឡែក ហើយមិនមែនជាផ្នែកនៃបំណែកផ្សេងទៀត (លេខទូរស័ព្ទ)៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ទូរស័ព្ទ

បញ្ហាជាមួយនឹងការស្វែងរកលេខទូរស័ព្ទនៅក្នុងអត្ថបទគឺថាមានជម្រើសជាច្រើនសម្រាប់ការសរសេរលេខ - ដោយមាន និងគ្មានសញ្ញាសហសញ្ញា តាមរយៈដកឃ្លា ដោយមាន ឬគ្មានលេខកូដតំបន់នៅក្នុងតង្កៀប។ល។ ជាដំបូងសម្អាតតួអក្សរទាំងនេះចេញពីអត្ថបទប្រភពដោយប្រើមុខងារជាច្រើនដែលភ្ជាប់មកជាមួយ រង (ជំនួស)ដូច្នេះ​វា​នៅ​ជាប់​គ្នា​ជា​មួយ​ទាំងមូល ហើយ​បន្ទាប់​មក​ជាមួយ​នឹង​ភាព​ទៀងទាត់​បឋម ឃ{11} ទាញចេញ ១១ ខ្ទង់ជាប់គ្នា៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

អាយធីអិន

វាមានភាពស្មុគស្មាញបន្តិចនៅទីនេះ ពីព្រោះ TIN (នៅក្នុងប្រទេសរបស់យើង) អាចជា 10 ខ្ទង់ (សម្រាប់នីតិបុគ្គល) ឬ 12 ខ្ទង់ (សម្រាប់បុគ្គល)។ ប្រសិនបើអ្នកមិនរកឃើញកំហុសជាពិសេសនោះវាពិតជាអាចទៅរួចក្នុងការពេញចិត្តនឹងភាពទៀងទាត់ ឃ{10,12}ប៉ុន្តែនិយាយយ៉ាងតឹងរ៉ឹង វានឹងដកលេខទាំងអស់ចេញពី 10 ទៅ 12 តួអក្សរ ពោលគឺ ហើយបញ្ចូលលេខ 11 ខ្ទង់ខុស។ វានឹងជាការត្រឹមត្រូវជាងក្នុងការប្រើលំនាំពីរដែលតភ្ជាប់ដោយប្រតិបត្តិករឡូជីខល OR | (របារបញ្ឈរ)៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

សូមចំណាំថានៅក្នុងសំណួរដំបូងយើងរកមើលលេខ 12 ប៊ីត ហើយមានតែលេខ 10 ប៊ីតប៉ុណ្ណោះ។ ប្រសិនបើយើងសរសេរកន្សោមធម្មតារបស់យើងតាមវិធីផ្សេងទៀត នោះវានឹងទាញចេញសម្រាប់អ្នករាល់គ្នា សូម្បីតែ TIN វែង 12 ប៊ីត មានតែតួអក្សរ 10 ដំបូងប៉ុណ្ណោះ។ នោះគឺបន្ទាប់ពីលក្ខខណ្ឌទីមួយត្រូវបានបង្កឡើង ការផ្ទៀងផ្ទាត់បន្ថែមមិនត្រូវបានអនុវត្តទៀតទេ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

នេះគឺជាភាពខុសគ្នាជាមូលដ្ឋានរវាងប្រតិបត្តិករ | ពីអនុគមន៍តក្កវិជ្ជា Excel ស្តង់ដារ OR (ឬ)ដែលជាកន្លែងដែលការរៀបចំអាគុយម៉ង់ឡើងវិញមិនផ្លាស់ប្តូរលទ្ធផល។

ផលិតផលអេសប៊ីអេស

នៅក្នុងក្រុមហ៊ុនជាច្រើន ឧបករណ៍កំណត់អត្តសញ្ញាណតែមួយគត់ត្រូវបានចាត់ចែងលើទំនិញ និងសេវាកម្ម – អត្ថបទ កូដ SAP SKUs ។ ឧទាហរណ៍ ប្រសិនបើយើងដឹងថាអត្ថបទរបស់យើងតែងតែមានអក្សរធំបីជាភាសាអង់គ្លេស សហសញ្ញា និងលេខបីខ្ទង់បន្តបន្ទាប់គ្នានោះ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

តក្កវិជ្ជានៅពីក្រោយគំរូគឺសាមញ្ញ។ [AZ] - មានន័យថាអក្សរធំណាមួយនៃអក្ខរក្រមឡាតាំង។ អ្នកកំណត់បរិមាណបន្ទាប់ 3 {} និយាយថាវាសំខាន់សម្រាប់យើងដែលមានអក្សរបីយ៉ាងពិតប្រាកដ។ បន្ទាប់ពីសហសញ្ញា យើងកំពុងរង់ចាំបីខ្ទង់ ដូច្នេះយើងបន្ថែមនៅចុងបញ្ចប់ ឃ{3}

ចំនួនសាច់ប្រាក់

តាមរបៀបស្រដៀងគ្នាទៅនឹងកថាខណ្ឌមុន អ្នកក៏អាចដកតម្លៃ (ថ្លៃដើម អាករលើតម្លៃបន្ថែម ...) ពីការពិពណ៌នាអំពីទំនិញ។ ឧទាហរណ៍ ប្រសិនបើចំនួនរូបិយវត្ថុត្រូវបានចង្អុលបង្ហាញដោយសញ្ញាសហសញ្ញា នោះ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

លំនាំ d ជាមួយ quantifier + ស្វែងរកលេខណាមួយរហូតដល់សហសញ្ញា និង ឃ{2} នឹងរកមើលកាក់ (ពីរខ្ទង់) បន្ទាប់ពី។

ប្រសិនបើអ្នកត្រូវការស្រង់ចេញមិនមែនតម្លៃទេ ប៉ុន្តែអាករលើតម្លៃបន្ថែម នោះអ្នកអាចប្រើអាគុយម៉ង់ជាជម្រើសទីបីនៃមុខងារ RegExpExtract របស់យើង ដែលបញ្ជាក់លេខធម្មតានៃធាតុដែលត្រូវស្រង់ចេញ។ ហើយជាការពិតអ្នកអាចជំនួសមុខងារ រង (ជំនួស) នៅក្នុងលទ្ធផល សូមដាក់សហសញ្ញាទៅសញ្ញាបំបែកទសភាគស្តង់ដារ ហើយបន្ថែមដកពីរដងនៅដើម ដូច្នេះ Excel បកស្រាយ VAT ដែលបានរកឃើញជាលេខធម្មតា៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ស្លាកលេខរថយន្ត

ប្រសិនបើអ្នកមិនយកយានជំនិះពិសេស សណ្តោងរ៉ឺម៉ក និងម៉ូតូផ្សេងទៀតទេ នោះលេខរថយន្តស្តង់ដារត្រូវបានញែកតាមគោលការណ៍ "អក្សរ - លេខបី - អក្សរពីរ - លេខកូដតំបន់" ។ លើសពីនេះទៅទៀត លេខកូដតំបន់អាចជា 2 ឬ 3 ខ្ទង់ ហើយមានតែអក្សរដែលស្រដៀងនឹងអក្សរឡាតាំងប៉ុណ្ណោះដែលត្រូវបានប្រើជាអក្សរ។ ដូច្នេះ កន្សោមធម្មតាខាងក្រោមនឹងជួយយើងក្នុងការស្រង់លេខចេញពីអត្ថបទ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ពេលវេលា

ដើម្បីស្រង់ពេលវេលាក្នុងទម្រង់ HH:MM កន្សោមធម្មតាខាងក្រោមគឺសមរម្យ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

បន្ទាប់ពីបំណែកពោះវៀនធំ [0-5] ឃដូចដែលវាងាយស្រួលគិត កំណត់លេខណាមួយក្នុងចន្លោះ 00-59។ មុនពេលពោះវៀនធំក្នុងវង់ក្រចក លំនាំពីរដំណើរការដោយបំបែកដោយឡូជីខល OR (បំពង់)៖

  • [0-1] ឃ - លេខណាមួយនៅក្នុងជួរ 00-19
  • 2[0-3] - លេខណាមួយនៅក្នុងជួរ 20-23

ចំពោះលទ្ធផលដែលទទួលបាន អ្នកអាចបន្ថែមមុខងារ Excel ស្តង់ដារ TIME (ក្រុម)ដើម្បីបម្លែងវាទៅជាទម្រង់ពេលវេលាដែលអាចយល់បានចំពោះកម្មវិធី និងសមរម្យសម្រាប់ការគណនាបន្ថែមទៀត។

ពិនិត្យពាក្យសម្ងាត់

ឧបមាថាយើងត្រូវពិនិត្យមើលបញ្ជីពាក្យសម្ងាត់ដែលបង្កើតដោយអ្នកប្រើប្រាស់សម្រាប់ភាពត្រឹមត្រូវ។ យោងតាមច្បាប់របស់យើង ពាក្យសម្ងាត់អាចមានតែអក្សរអង់គ្លេស (អក្សរតូច ឬអក្សរធំ) និងលេខប៉ុណ្ណោះ។ ដកឃ្លា សញ្ញាចុច និងសញ្ញាវណ្ណយុត្តិផ្សេងទៀតមិនត្រូវបានអនុញ្ញាតទេ។

ការត្រួតពិនិត្យអាចត្រូវបានរៀបចំដោយប្រើកន្សោមធម្មតាសាមញ្ញខាងក្រោម៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

តាម​ពិត​ទៅ​តាម​លំនាំ​បែប​នេះ យើង​ទាមទារ​ថា​នៅ​ចន្លោះ​ពេល​ចាប់​ផ្ដើម (^) និងបញ្ចប់ ($) នៅក្នុងអត្ថបទរបស់យើងមានតែតួអក្សរពីសំណុំដែលបានផ្តល់ឱ្យក្នុងតង្កៀបការ៉េ។ ប្រសិនបើអ្នកក៏ត្រូវពិនិត្យមើលប្រវែងនៃពាក្យសម្ងាត់ (ឧទាហរណ៍យ៉ាងហោចណាស់ 6 តួអក្សរ) បន្ទាប់មកអ្នកកំណត់បរិមាណ + អាចត្រូវបានជំនួសដោយចន្លោះពេល "ប្រាំមួយឬច្រើន" នៅក្នុងទម្រង់ {១,}:

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ទីក្រុងពីអាសយដ្ឋាន

ឧបមាថាយើងត្រូវទាញទីក្រុងចេញពីរបារអាសយដ្ឋាន។ កម្មវិធីធម្មតានឹងជួយដោយទាញយកអត្ថបទពី "g" ។ ទៅសញ្ញាក្បៀសបន្ទាប់៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

សូមក្រឡេកមើលគំរូនេះឱ្យបានដិតដល់។

ប្រសិនបើអ្នកបានអានអត្ថបទខាងលើ នោះអ្នកបានយល់រួចហើយថា តួអក្សរមួយចំនួននៅក្នុងកន្សោមធម្មតា (រយៈពេល សញ្ញាផ្កាយ សញ្ញាដុល្លារ។ល។) មានអត្ថន័យពិសេស។ ប្រសិនបើអ្នកត្រូវការរកមើលតួអក្សរទាំងនេះដោយខ្លួនឯង នោះពួកវាត្រូវបាននាំមុខដោយសញ្ញាសម្គាល់ខាងក្រោយ (ជួនកាលគេហៅថា ខែល) ដូច្នេះនៅពេលស្វែងរកបំណែក "g" ។ យើងត្រូវសរសេរក្នុងកន្សោមធម្មតា។ លោក ប្រសិនបើយើងកំពុងស្វែងរកការបូក +

តួអក្សរពីរបន្ទាប់នៅក្នុងគំរូរបស់យើង ចំនុច និងសញ្ញាផ្កាយ តំណាងឱ្យចំនួនតួអក្សរណាមួយ ពោលគឺឈ្មោះទីក្រុងណាមួយ។

មានសញ្ញាក្បៀសនៅចុងបញ្ចប់នៃគំរូ ពីព្រោះយើងកំពុងស្វែងរកអត្ថបទពី "g" ។ ទៅសញ្ញាក្បៀស។ ប៉ុន្តែអាចមានសញ្ញាក្បៀសជាច្រើននៅក្នុងអត្ថបទ មែនទេ? មិន​ត្រឹម​តែ​ក្រោយ​ទីក្រុង​ប៉ុណ្ណោះ​ទេ ប៉ុន្តែ​ក៏​ក្រោយ​ផ្លូវ ផ្ទះ​ជាដើម​។​ តើ​សំណើ​របស់​យើង​មួយ​ណា​នឹង​ឈប់​? នោះហើយជាអ្វីដែលសញ្ញាសួរគឺសម្រាប់។ បើគ្មានវាទេ កន្សោមធម្មតារបស់យើងនឹងទាញខ្សែវែងបំផុតដែលអាចធ្វើទៅបាន៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

នៅក្នុងលក្ខខណ្ឌនៃការបញ្ចេញមតិធម្មតា គំរូបែបនេះគឺ "លោភលន់" ។ ដើម្បីកែតម្រូវស្ថានភាព សញ្ញាសួរគឺត្រូវការជាចាំបាច់ - វាធ្វើឱ្យអ្នកកំណត់បរិមាណបន្ទាប់ពីនោះវាឈរ "ក្រិន" - ហើយសំណួររបស់យើងយកអត្ថបទត្រឹមក្បៀសទីមួយបន្ទាប់ពី "g"៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ឈ្មោះឯកសារពីផ្លូវពេញ

ស្ថានភាពទូទៅមួយទៀតគឺត្រូវស្រង់ឈ្មោះឯកសារចេញពីផ្លូវពេញ។ កន្សោមសាមញ្ញធម្មតានៃទម្រង់នឹងជួយនៅទីនេះ៖

ញែកអត្ថបទជាមួយកន្សោមធម្មតា (RegExp) ក្នុង Excel

ល្បិចនៅទីនេះគឺថាការស្វែងរកតាមការពិតកើតឡើងក្នុងទិសដៅផ្ទុយ - ពីចុងបញ្ចប់ដល់ដើមពីព្រោះនៅចុងបញ្ចប់នៃគំរូរបស់យើងគឺ $ហើយយើងកំពុងស្វែងរកអ្វីគ្រប់យ៉ាង មុនពេលវាឡើងដល់សញ្ញាថយក្រោយដំបូងពីខាងស្តាំ។ backslash ត្រូវបានគេចចេញ ដូចជាចំនុចនៅក្នុងឧទាហរណ៍មុន។

PS

"ឆ្ពោះទៅរកទីបញ្ចប់" ខ្ញុំចង់បញ្ជាក់ឱ្យច្បាស់ថាទាំងអស់ខាងលើគឺជាផ្នែកតូចមួយនៃលទ្ធភាពទាំងអស់ដែលកន្សោមធម្មតាផ្តល់ឱ្យ។ មានតួអក្សរ និងច្បាប់ពិសេសជាច្រើនសម្រាប់ការប្រើប្រាស់របស់ពួកគេ ហើយសៀវភៅទាំងមូលត្រូវបានសរសេរលើប្រធានបទនេះ (ខ្ញុំសូមណែនាំយ៉ាងហោចណាស់មួយនេះសម្រាប់ការចាប់ផ្តើម)។ នៅក្នុងវិធីមួយ ការសរសេរកន្សោមធម្មតាគឺស្ទើរតែជាសិល្បៈមួយ។ ស្ទើរតែជានិច្ចកាល កន្សោមធម្មតាដែលបានបង្កើតអាចត្រូវបានកែលម្អ ឬបំពេញបន្ថែម ដែលធ្វើឱ្យវាកាន់តែឆើតឆាយ ឬអាចធ្វើការជាមួយជួរទិន្នន័យបញ្ចូលកាន់តែទូលំទូលាយ។

ដើម្បីវិភាគ និងញែកកន្សោមធម្មតារបស់អ្នកដទៃ ឬបំបាត់កំហុសរបស់អ្នក មានសេវាកម្មអនឡាញដ៏ងាយស្រួលមួយចំនួន៖ RegEx101, RegExr និង​ច្រើន​ទៀត

ជាអកុសល មិនមែនគ្រប់លក្ខណៈទាំងអស់នៃកន្សោមធម្មតាបុរាណត្រូវបានគាំទ្រនៅក្នុង VBA (ឧទាហរណ៍ ថ្នាក់ស្វែងរកបញ្ច្រាស ឬ POSIX) ហើយអាចដំណើរការជាមួយ Cyrillic ប៉ុន្តែខ្ញុំគិតថាអ្វីដែលមានគ្រប់គ្រាន់សម្រាប់ជាលើកដំបូងដើម្បីផ្គាប់ចិត្តអ្នក។

ប្រសិនបើអ្នកមិនថ្មីចំពោះប្រធានបទ ហើយអ្នកមានអ្វីមួយដែលត្រូវចែករំលែក សូមទុកកន្សោមធម្មតាដែលមានប្រយោជន៍នៅពេលធ្វើការនៅក្នុង Excel នៅក្នុងមតិយោបល់ខាងក្រោម។ ចិត្តមួយល្អ តែស្បែកជើងពីរគូ!

  • ការជំនួស និងសម្អាតអត្ថបទដោយប្រើមុខងារ SUBSTITUTE
  • ស្វែងរក និងបន្លិចអក្សរឡាតាំងនៅក្នុងអត្ថបទ
  • ស្វែងរកអត្ថបទស្រដៀងគ្នាដែលនៅជិតបំផុត (Ivanov = Ivonov = Ivanof ។ល។)

សូមផ្ដល់យោបល់