» »

vba regex

vba regex

korenje3 ::

Torej imam slednji tekst:
"IN 1|2|3 & LIKE test"
Torej kako bi zamenjal z regexom | s presledki?
Želen rezultat:
"IN 1 2 3 & LIKE test"
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

secops ::

Če se gre samo za to, potem ne rabiš nobenega regexa, ampak samo replace.

korenje3 ::

Načeloma je tako, da je lahko namesto in tole: IN|NOTIN|!IN|!NOTIN
V bistvu bi rad da mi zamenja vse |, ki so med temi:
(IN|NOTIN|!IN|!NOTIN)1|2|3(&|!<>|!>=|!<=|!=|!<|!>|<>|>=|<=|=|<|>|LIKE|NOTLIKE|!LIKE|!NOTLIKE|ISNULL|ISNOTNULL|ISEMPTY|ISNOTEMPTY|!)

Torej samo 1|2|3 mora spremeniti v 1 2 3
Pa pattern je lahko ponavljajoč in mora povsod zamenjat.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

Zgodovina sprememb…

  • spremenil: korenje3 ()

rokp ::

Torej zamenjas vse |, ki sledijo stevilki (ali pa so pred njo, v tem primeru je podobno)? Stevilka je \d (lahko pa tudi npr. [0-9]), | pa \|

korenje3 ::

Ni nujno da je številka. Lahko je karkoli kar ni zapis na levi ali desni.
Torej mora izluščit ven 1|2|3 ter zamenjat | z \s
Zapis je pa lahko ponavljajoč.
Torej če rečemo da je levi del A, srednji del B ter desni del C mora potem zamenjat v vseh B znak |. Pogoj je pa da je ujem teksta v A na levi ali v B na desni.
Recimo "ABCABCABBCB" zamenja samo 1. in 2. B
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Safety razor

Oddelek: Loža
233299 (1989) sreda
»

Powershell primerjaj in kopiraj

Oddelek: Programiranje
61056 (693) Blisk
»

[Access] iskanje z formom / querijem

Oddelek: Programiranje
61337 (1261) zagy
»

RIAA napada Evropo

Oddelek: Problemi človeštva
312176 (1572) Vikking
»

podrazitev CD-jev

Oddelek: Kaj kupiti
7921 (709) Dami

Več podobnih tem