View Single Post
  #16  
Old April 19th, 2009, 01:47 PM posted to microsoft.public.excel.worksheet.functions
Luciano Paulino da Silva
external usenet poster
 
Posts: 52
Default Macro to apply parsing rules for strings and list the substrings

On 19 abr, 09:14, Ron Rosenfeld wrote:
On Sat, 18 Apr 2009 20:04:16 -0700 (PDT), Luciano Paulino da Silva

wrote:
I`m having some problems with rules 3, 9, 12, 13, 14, 15, 16, 20.


You didn't give any examples of what the results would be of these rules when
applied to a target string. *By that I mean to do, as you did in your initial
posting, to give an example of the input string, and what you expect as output.

That makes it more difficult to debug.

But try this:

Rule 3:

"(CKY|DKD|CKH|CKD|KKR|RRH|RRR|CRK|DRD|RRF|KRR|[^KR]|[KR]P)+[KR]?|[KR]"

Rule 9:

"D?[^KD]+K?|[KD]"

-------------------------------------

For the other rules, give some examples (and also for these rules if the
results are unexpected).

------------------------------------
--ron


I`m sending some examples of than, sorry...
Thanks in advance,

3 Right side of K or R if P is Right to K or R; except after K
in CKY, DKD, CKH, CKD, KKR; after R in RRH, RRR, CRK, DRD, RRF, KRR

AAKASASRAAAKASASKPASASASRPSASDFCKYDSADSDKDASCKHSGA HSACKDFHASFKKRGHAHGRRHGSAHGSAHRRRFSDAGFSCRKASDRDRR FKRRS

AAK
ASASR
AAAK
ASASKPASASASRPSASDFCKYDSADSDKDASCKHSGAHSACKDFHASFK KRGHAHGRRHGSAHGSAHRRRFSDAGFSCRKASDRDRRFKRRS

9 Left side of D, Right side of K

ASASADSASASKASSASASHASASKSASASDSAAS

ASASA
DSASASK
ASSASASHASASK
SASAS
DSAAS

12 Right side of D or E except if P is Right to D or E, or if E
is Right to D or E

ASADSSASASAESASASADPASASASAEPASAASDEASASASAEESASAS

ASAD
SSASASAE
SASASADPASASASAEPASAASDEASASASAEESASAS

13 Right side of D, E and K except if P is Right to D or E, or if
E is Right to D or E

SASASDASASAESASASASKASAKPSADPASASASAEPASASASDEASAS ASEEASSAS
SASASD
ASASAE
SASASASK
ASAKPSADPASASASAEPASASASDEASASASEEASSAS

14 Right side of F, L, M, W, Y except if P is Right to F, L, M,
W, Y, if P is Left to Y

SASFASASLASASMASASWASASYASASFPASASASLPASASMPASSAWP ASASYPASASAPYASS
SASF
ASASL
ASASM
ASASW
ASASY
ASASFPASASASLPASASMPASSAWPASASYPASASAPYASS

15 Right side of F, Y, W except if P is Right to F, Y, W, if P is
Left to Y

ASSAFASASASYASASWASSASFPASASAYPASAASWPASASAPY
ASSAF
ASASASY
ASASW
ASSASFPASASAYPASAASWPASASAPY

16 Right side of K, R, F, Y, W except if P is Right to K, R, F,
Y, W, if P is Left to Y

ASSASKASASASRASASAFASSAYASASSWSASASKPASASASRPASSAF PSASASYPASASWPASSASPY
ASSASK
ASASASR
ASASAF
ASSAY
ASASSW
SASASKPASASASRPASSAFPSASASYPASASWPASSASPY

20 Left side of A, F, I, L, M, V except if D or E is Left to A,
F, I, L, M, V

TTAWFNNICCMSSVASDATTYEQTTDFQQEFQQDIQQEINNDLQWELQWQ EMQWDMWQWEVQWQWDVQWQLSTSS
TT
AW
FNN
ICC
MSS
V
ASDATTYEQTTDFQQEFQQDIQQEINNDLQWELQWQEMQWDMWQWEVQWQ WDVQWQ
LSTSS