Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 77
Default Macro to apply parsing rules for strings and list the substrings

Dear All,
I'm looking for detect and list the substrings (bellow cell "A3") for
a given string (on cell "A1") that must be generated for one or more
general rule(s). I have almost 100 different rules that can be applied
alone or together one to the other. Do you have any idea about how
could I do that? The rules are listed bellow and I put an example.

Rules:
According to these rules, letters in a string undergoing parse are
designated in the left or right direction from the parsed letter.
There are some exceptions related to the presence of one or more
letters sorrounding some specific point of parse.

Parsing rules:

Rule Parse where? Exceptions
1 Right side of K or R if P is Right to K or
R
2 Right side of K or R
3 Right side of K or R if P is Right to
K or R; after K in CKY, DKD, CKH, CKD, KKR; after R in RRH, RRR, CRK,
DRD, RRF, KRR
4 Right side of K
5 Left side of K
6 Right side of M
7 Right side of R if P is Right to R
8 Left side of D
9 Left side of D, Right side of K
10 Left side of D or E
11 Right side of E if P is Right to E, or if
E is Right to E
12 Right side of D or E if P is Right to D or
E, or if E is Right to D or E
13 Right side of D, E and K if P is Right to D or E,
or if E is Right to D or E
14 Right side of F, L, M, W, Y if P is Right to F,
L, M, W, Y, if P is Left to Y
15 Right side of F, Y, W if P is Right to F,
Y, W, if P is Left to Y
16 Right side of K, R, F, Y, W if P is Right to K, R,
F, Y, W, if P is Left to Y
17 Right side of F, L
18 Right side of F, L, W, Y, A, E, Q
19 Right side of A, F, Y, W, L, I, V
20 Left side of A, F, I, L, M, V if D or E is Left to
A, F, I, L, M, V


Examples:
String:

AGFSAFSAHASGASHSGHHSRASAKSASFDDAKPASASAFDAGSRPASSD ADASAPSASDASDASSRADSKADSKK

Using Rule 1:

AGFSAFSAHASGASHSGHHSR
ASAK
SASFDDAKPASASAFDAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K

Using Rule 8:
AGFSAFSAHASGASHSGHHSRASAKSASF
D
DAKPASASAF
DAGSRPASS
DA
DASAPSAS
DAS
DASSRA
DSKA
DSKK

Using Rules 1 and 17
AGF
SAF
SAHASGASHSGHHSR
ASAK
SASF
DDAKPASASAF
DAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K
  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 5,441
Default Macro to apply parsing rules for strings and list the substrings

Luciano,

A lot of these simpler rules would be easy to implement

For example, rule 2

Function Rule2(strVal As String) As Variant
Rule2 = Application.Transpose(Split(Replace(Replace(strVal , "K", "K "), "R", "R "), " "))
End Function


If your string is in cell A1, your could select A2:A10 and enter using Ctrl-Shift-Enter

=Rule2(A1)

Other rules would require stepping through and checking each instance, but before I do an example of
that, if you could answer one question:

Is there a letter that will NEVER appear in your strings?

HTH,
Bernie
MS Excel MVP


"Luciano Paulino da Silva" wrote in message
...
Dear All,
I'm looking for detect and list the substrings (bellow cell "A3") for
a given string (on cell "A1") that must be generated for one or more
general rule(s). I have almost 100 different rules that can be applied
alone or together one to the other. Do you have any idea about how
could I do that? The rules are listed bellow and I put an example.

Rules:
According to these rules, letters in a string undergoing parse are
designated in the left or right direction from the parsed letter.
There are some exceptions related to the presence of one or more
letters sorrounding some specific point of parse.

Parsing rules:

Rule Parse where? Exceptions
1 Right side of K or R if P is Right to K or
R
2 Right side of K or R
3 Right side of K or R if P is Right to
K or R; after K in CKY, DKD, CKH, CKD, KKR; after R in RRH, RRR, CRK,
DRD, RRF, KRR
4 Right side of K
5 Left side of K
6 Right side of M
7 Right side of R if P is Right to R
8 Left side of D
9 Left side of D, Right side of K
10 Left side of D or E
11 Right side of E if P is Right to E, or if
E is Right to E
12 Right side of D or E if P is Right to D or
E, or if E is Right to D or E
13 Right side of D, E and K if P is Right to D or E,
or if E is Right to D or E
14 Right side of F, L, M, W, Y if P is Right to F,
L, M, W, Y, if P is Left to Y
15 Right side of F, Y, W if P is Right to F,
Y, W, if P is Left to Y
16 Right side of K, R, F, Y, W if P is Right to K, R,
F, Y, W, if P is Left to Y
17 Right side of F, L
18 Right side of F, L, W, Y, A, E, Q
19 Right side of A, F, Y, W, L, I, V
20 Left side of A, F, I, L, M, V if D or E is Left to
A, F, I, L, M, V


Examples:
String:

AGFSAFSAHASGASHSGHHSRASAKSASFDDAKPASASAFDAGSRPASSD ADASAPSASDASDASSRADSKADSKK

Using Rule 1:

AGFSAFSAHASGASHSGHHSR
ASAK
SASFDDAKPASASAFDAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K

Using Rule 8:
AGFSAFSAHASGASHSGHHSRASAKSASF
D
DAKPASASAF
DAGSRPASS
DA
DASAPSAS
DAS
DASSRA
DSKA
DSKK

Using Rules 1 and 17
AGF
SAF
SAHASGASHSGHHSR
ASAK
SASF
DDAKPASASAF
DAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K



  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 77
Default Macro to apply parsing rules for strings and list the substrings

Bernie,

OK, We will have just 20 types of letters:

A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, X

For some situations, I will have some new future rules and it is
possible that in several cases I will have to apply more than one rule
simultaneously.
Thanks in advance,
Luciano

On 16 abr, 15:10, "Bernie Deitrick" <deitbe @ consumer dot org wrote:
Luciano,

A lot of these simpler rules would be easy to implement

For example, rule 2

Function Rule2(strVal As String) As Variant
* *Rule2 = Application.Transpose(Split(Replace(Replace(strVal , "K", "K "), "R", "R "), " "))
End Function

If your string is in cell A1, your could select A2:A10 and enter using Ctrl-Shift-Enter

=Rule2(A1)

Other rules would require stepping through and checking each instance, but before I do an example of
that, if you could answer one question:

Is there a letter that will NEVER appear in your strings?

HTH,
Bernie
MS Excel MVP

"Luciano Paulino da Silva" wrote in ...

Dear All,
I'm looking for detect and list the substrings (bellow cell "A3") for
a given string (on cell "A1") that must be generated for one or more
general rule(s). I have almost 100 different rules that can be applied
alone or together one to the other. Do you have any idea about how
could I do that? The rules are listed bellow and I put an example.


Rules:
According to these rules, letters in a string undergoing parse are
designated in the left or right direction from the parsed letter.
There are some exceptions related to the presence of one or more
letters sorrounding some specific point of parse.


Parsing rules:


Rule Parse where? * * * * * * * * * * * * * * * *Exceptions
1 Right side of K or R * * * * * * * * * * * *if P is Right to K or
R
2 * * * Right side of K or R
3 * * * Right side of K or R * * * * * * * * * * * *if P is Right to
K or R; after K in CKY, DKD, CKH, CKD, KKR; after R in RRH, RRR, CRK,
DRD, RRF, KRR
4 Right side of K
5 Left side of K
6 Right side of M
7 Right side of R * * * * * * * * * * * *if P is Right to R
8 Left side of D
9 Left side of D, Right side of K
10 Left side of D or E
11 Right side of E * * * * * * * * * * * *if P is Right to E, or if
E is Right to E
12 Right side of D or E * * * * * * * * * * * *if P is Right to D or
E, or if E is Right to D or E
13 Right side of D, E and K * * * * * * * *if P is Right to D or E,
or if E is Right to D or E
14 *Right side of F, L, M, W, Y * * * * * * * *if P is Right to F,
L, M, W, Y, if P is Left to Y
15 *Right side of F, Y, W * * * * * * * * * * * *if P is Right to F,
Y, W, if P is Left to Y
16 Right side of K, R, F, Y, W * * * * * * * *if P is Right to K, R,
F, Y, W, if P is Left to Y
17 Right side of F, L
18 Right side of F, L, W, Y, A, E, Q
19 Right side of A, F, Y, W, L, I, V
20 Left side of A, F, I, L, M, V * * * * * * * *if D or E is Left to
A, F, I, L, M, V


Examples:
String:


AGFSAFSAHASGASHSGHHSRASAKSASFDDAKPASASAFDAGSRPASSD ADASAPSASDASDASSRADSKADSKK


Using Rule 1:


AGFSAFSAHASGASHSGHHSR
ASAK
SASFDDAKPASASAFDAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K


Using Rule 8:
AGFSAFSAHASGASHSGHHSRASAKSASF
D
DAKPASASAF
DAGSRPASS
DA
DASAPSAS
DAS
DASSRA
DSKA
DSKK


Using Rules 1 and 17
AGF
SAF
SAHASGASHSGHHSR
ASAK
SASF
DDAKPASASAF
DAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K


  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 77
Default Macro to apply parsing rules for strings and list the substrings

I`m very happy that you said that a lot of the rules are simple to
implemnt. I have successfuly tested that one you send me.
Thank for your help with this.
Luciano

On 16 abr, 21:08, Luciano Paulino da Silva
wrote:
Bernie,

OK, We will have just 20 types of letters:

A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, X

For some situations, I will have some new future rules and it is
possible that in several cases I will have to apply more than one rule
simultaneously.
Thanks in advance,
Luciano

On 16 abr, 15:10, "Bernie Deitrick" <deitbe @ consumer dot org wrote:

Luciano,


A lot of these simpler rules would be easy to implement


For example, rule 2


Function Rule2(strVal As String) As Variant
* *Rule2 = Application.Transpose(Split(Replace(Replace(strVal , "K", "K "), "R", "R "), " "))
End Function


If your string is in cell A1, your could select A2:A10 and enter using Ctrl-Shift-Enter


=Rule2(A1)


Other rules would require stepping through and checking each instance, but before I do an example of
that, if you could answer one question:


Is there a letter that will NEVER appear in your strings?


HTH,
Bernie
MS Excel MVP


"Luciano Paulino da Silva" wrote in ....


Dear All,
I'm looking for detect and list the substrings (bellow cell "A3") for
a given string (on cell "A1") that must be generated for one or more
general rule(s). I have almost 100 different rules that can be applied
alone or together one to the other. Do you have any idea about how
could I do that? The rules are listed bellow and I put an example.


Rules:
According to these rules, letters in a string undergoing parse are
designated in the left or right direction from the parsed letter.
There are some exceptions related to the presence of one or more
letters sorrounding some specific point of parse.


Parsing rules:


Rule Parse where? * * * * * * * * * * * * * * * *Exceptions
1 Right side of K or R * * * * * * * * * * * *if P is Right to K or
R
2 * * * Right side of K or R
3 * * * Right side of K or R * * * * * * * * * * * *if P is Right to
K or R; after K in CKY, DKD, CKH, CKD, KKR; after R in RRH, RRR, CRK,
DRD, RRF, KRR
4 Right side of K
5 Left side of K
6 Right side of M
7 Right side of R * * * * * * * * * * * *if P is Right to R
8 Left side of D
9 Left side of D, Right side of K
10 Left side of D or E
11 Right side of E * * * * * * * * * * * *if P is Right to E, or if
E is Right to E
12 Right side of D or E * * * * * * * * * * * *if P is Right to D or
E, or if E is Right to D or E
13 Right side of D, E and K * * * * * * * *if P is Right to D or E,
or if E is Right to D or E
14 *Right side of F, L, M, W, Y * * * * * * * *if P is Right to F,
L, M, W, Y, if P is Left to Y
15 *Right side of F, Y, W * * * * * * * * * * * *if P is Right to F,
Y, W, if P is Left to Y
16 Right side of K, R, F, Y, W * * * * * * * *if P is Right to K, R,
F, Y, W, if P is Left to Y
17 Right side of F, L
18 Right side of F, L, W, Y, A, E, Q
19 Right side of A, F, Y, W, L, I, V
20 Left side of A, F, I, L, M, V * * * * * * * *if D or E is Left to
A, F, I, L, M, V


Examples:
String:


AGFSAFSAHASGASHSGHHSRASAKSASFDDAKPASASAFDAGSRPASSD ADASAPSASDASDASSRADSKADSKK


Using Rule 1:


AGFSAFSAHASGASHSGHHSR
ASAK
SASFDDAKPASASAFDAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K


Using Rule 8:
AGFSAFSAHASGASHSGHHSRASAKSASF
D
DAKPASASAF
DAGSRPASS
DA
DASAPSAS
DAS
DASSRA
DSKA
DSKK


Using Rules 1 and 17
AGF
SAF
SAHASGASHSGHHSR
ASAK
SASF
DDAKPASASAF
DAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K


  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 5,651
Default Macro to apply parsing rules for strings and list the substrings

On Wed, 15 Apr 2009 10:49:37 -0700 (PDT), Luciano Paulino da Silva
wrote:

Dear All,
I'm looking for detect and list the substrings (bellow cell "A3") for
a given string (on cell "A1") that must be generated for one or more
general rule(s). I have almost 100 different rules that can be applied
alone or together one to the other. Do you have any idea about how
could I do that? The rules are listed bellow and I put an example.

Rules:
According to these rules, letters in a string undergoing parse are
designated in the left or right direction from the parsed letter.
There are some exceptions related to the presence of one or more
letters sorrounding some specific point of parse.

Parsing rules:

Rule Parse where? Exceptions
1 Right side of K or R if P is Right to K or
R
2 Right side of K or R
3 Right side of K or R if P is Right to
K or R; after K in CKY, DKD, CKH, CKD, KKR; after R in RRH, RRR, CRK,
DRD, RRF, KRR
4 Right side of K
5 Left side of K
6 Right side of M
7 Right side of R if P is Right to R
8 Left side of D
9 Left side of D, Right side of K
10 Left side of D or E
11 Right side of E if P is Right to E, or if
E is Right to E
12 Right side of D or E if P is Right to D or
E, or if E is Right to D or E
13 Right side of D, E and K if P is Right to D or E,
or if E is Right to D or E
14 Right side of F, L, M, W, Y if P is Right to F,
L, M, W, Y, if P is Left to Y
15 Right side of F, Y, W if P is Right to F,
Y, W, if P is Left to Y
16 Right side of K, R, F, Y, W if P is Right to K, R,
F, Y, W, if P is Left to Y
17 Right side of F, L
18 Right side of F, L, W, Y, A, E, Q
19 Right side of A, F, Y, W, L, I, V
20 Left side of A, F, I, L, M, V if D or E is Left to
A, F, I, L, M, V


Examples:
String:

AGFSAFSAHASGASHSGHHSRASAKSASFDDAKPASASAFDAGSRPASS DADASAPSASDASDASSRADSKADSKK

Using Rule 1:

AGFSAFSAHASGASHSGHHSR
ASAK
SASFDDAKPASASAFDAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K

Using Rule 8:
AGFSAFSAHASGASHSGHHSRASAKSASF
D
DAKPASASAF
DAGSRPASS
DA
DASAPSAS
DAS
DASSRA
DSKA
DSKK

Using Rules 1 and 17
AGF
SAF
SAHASGASHSGHHSR
ASAK
SASF
DDAKPASASAF
DAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K


You could implement each rule as a Regular Expression, and then select the
rule(s) you wish to apply.

For example, a routine with the Regular Expressions for rules 1,2,8,17 already
figured out for you, and which allows the application of multiple rules on a
given string, might look like the code below.

You select a cell which contains your string and then execute the macro. You
can enter one or more rules -- enter them by number <space separated.

The macro will then apply each rule in order, and output the results in the
rows below your selected cell, skipping the row immediately below (so that if
your data is in A1, the strings will start in A3.

There are other methods of implementing your rules than Regular Expressions,
but with so many rules, this would be the simplest for me.

=================================
Option Explicit
Sub ParseSpecial()
Dim c As Range
Dim i As Long, j As Long
Dim vRule As Variant
Dim aRule(1 To 100) As String
Dim aResRule1() As String
Dim aResRule2() As String
Dim re As Object, mc As Object, m As Object

'Rules
'construct so that all strings will have at least
'one match
'store each rule number in the corresponding element of
'the aRule array

aRule(1) = "([^KR]|[KR]P)+[KR]?|[KR]"
aRule(2) = "[^KR]+[KR]?|[KR]"
aRule(8) = "D?[^D]+|D"
aRule(17) = "[^FL]+[FL]?|[FL]"

vRule = _
Split(InputBox("Rule Number (for multiple rules, separate with space): "))

Set c = Selection 'or whatever

If c.Count < 1 Then
MsgBox ("Can only select one cell")
'but could add code to iterate through a
' bunch of cells
Exit Sub
End If

'add more code to ensure validity of rule number
' --------------------------
ReDim aResRule1(0)
aResRule1(0) = c.Value
Set re = CreateObject("vbscript.regexp")
re.IgnoreCase = False
re.Global = True

For j = 0 To UBound(vRule)
re.Pattern = aRule(vRule(j))
ReDim aResRule2(UBound(aResRule1))
'move current results to aResRule2
For i = 0 To UBound(aResRule1)
aResRule2(i) = aResRule1(i)
Next i
'clear out aResRule1
ReDim aResRule1(0)
For i = 0 To UBound(aResRule2)
Set mc = re.Execute(aResRule2(i))
For Each m In mc
If Len(aResRule1(0)) 0 Then
ReDim Preserve aResRule1(UBound(aResRule1) + 1)
End If
aResRule1(UBound(aResRule1)) = m
Next m
Next i
Next j
'clear and write results below
WriteResults aResRule1, c.Offset(2, 0)
End Sub
Sub WriteResults(res, rDest As Range)
'clear out range for results
Range(rDest, rDest.End(xlDown)).Clear
Dim i As Long
For i = 0 To UBound(res)
rDest(i + 1, 1).Value = res(i)
Next i
With rDest(i + 1, 1)
.Value = "End of List of Strings"
.Font.Italic = True
.Font.Bold = True
.Font.Color = vbRed
End With
End Sub
=============================
--ron


  #6   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 77
Default Macro to apply parsing rules for strings and list the substrings

On 17 abr, 22:32, Ron Rosenfeld wrote:
On Wed, 15 Apr 2009 10:49:37 -0700 (PDT), Luciano Paulino da Silva



wrote:
Dear All,
I'm looking for detect and list the substrings (bellow cell "A3") for
a given string (on cell "A1") that must be generated for one or more
general rule(s). I have almost 100 different rules that can be applied
alone or together one to the other. Do you have any idea about how
could I do that? The rules are listed bellow and I put an example.


Rules:
According to these rules, letters in a string undergoing parse are
designated in the left or right direction from the parsed letter.
There are some exceptions related to the presence of one or more
letters sorrounding some specific point of parse.


Parsing rules:


Rule * * * *Parse where? * * * * * * * * * * * * * * * * * Exceptions
1 * Right side of K or R * * * * * * * * * * * * * if P is Right to K or
R
2 * * * Right side of K or R
3 * * * Right side of K or R * * * * * * * * * * * * * * * if P is Right to
K or R; after K in CKY, DKD, CKH, CKD, KKR; after R in RRH, RRR, CRK,
DRD, RRF, KRR
4 * Right side of K
5 * Left side of K
6 * Right side of M
7 * Right side of R * * * * * * * * * * * * * * * *if P is Right to R
8 * Left side of D
9 * Left side of D, Right side of K
10 *Left side of D or E
11 *Right side of E * * * * * * * * * * * * * * * *if P is Right to E, or if
E is Right to E
12 *Right side of D or E * * * * * * * * * * * * * if P is Right to D or
E, or if E is Right to D or E
13 *Right side of D, E and K * * * * * * * * * * * if P is Right to D or E,
or if E is Right to D or E
14 * * * * *Right side of F, L, M, W, Y * * * * * * * * * *if P is Right to F,
L, M, W, Y, if P is Left to Y
15 * * * * *Right side of F, Y, W * * * * * * * * * * * * *if P is Right to F,
Y, W, if P is Left to Y
16 *Right side of K, R, F, Y, W * * * * * * * * * *if P is Right to K, R,
F, Y, W, if P is Left to Y
17 *Right side of F, L
18 *Right side of F, L, W, Y, A, E, Q
19 *Right side of A, F, Y, W, L, I, V
20 *Left side of A, F, I, L, M, V * * * * * * * * *if D or E is Left to
A, F, I, L, M, V


Examples:
String:


AGFSAFSAHASGASHSGHHSRASAKSASFDDAKPASASAFDAGSRPASS DADASAPSASDASDASSRADSKADSKK


Using Rule 1:


AGFSAFSAHASGASHSGHHSR
ASAK
SASFDDAKPASASAFDAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K


Using Rule 8:
AGFSAFSAHASGASHSGHHSRASAKSASF
D
DAKPASASAF
DAGSRPASS
DA
DASAPSAS
DAS
DASSRA
DSKA
DSKK


Using Rules 1 and 17
AGF
SAF
SAHASGASHSGHHSR
ASAK
SASF
DDAKPASASAF
DAGSRPASSDADASAPSASDASDASSR
ADSK
ADSK
K


You could implement each rule as a Regular Expression, and then select the
rule(s) you wish to apply.

For example, a routine with the Regular Expressions for rules 1,2,8,17 already
figured out for you, and which allows the application of multiple rules on a
given string, might look like the code below.

You select a cell which contains your string and then execute the macro. *You
can enter one or more rules -- enter them by number <space separated.

The macro will then apply each rule in order, and output the results in the
rows below your selected cell, skipping the row immediately below (so that if
your data is in A1, the strings will start in A3.

There are other methods of implementing your rules than Regular Expressions,
but with so many rules, this would be the simplest for me.

=================================
Option Explicit
Sub ParseSpecial()
Dim c As Range
Dim i As Long, j As Long
Dim vRule As Variant
Dim aRule(1 To 100) As String
Dim aResRule1() As String
Dim aResRule2() As String
Dim re As Object, mc As Object, m As Object

'Rules
'construct so that all strings will have at least
'one match
'store each rule number in the corresponding element of
'the aRule array

aRule(1) = "([^KR]|[KR]P)+[KR]?|[KR]"
aRule(2) = "[^KR]+[KR]?|[KR]"
aRule(8) = "D?[^D]+|D"
aRule(17) = "[^FL]+[FL]?|[FL]"

vRule = _
* Split(InputBox("Rule Number (for multiple rules, separate with space): "))

Set c = Selection 'or whatever

If c.Count < 1 Then
* * MsgBox ("Can only select one cell")
* * 'but could add code to iterate through a
* * ' *bunch of cells
* * Exit Sub
End If

'add more code to ensure validity of rule number
' --------------------------
ReDim aResRule1(0)
aResRule1(0) = c.Value
Set re = CreateObject("vbscript.regexp")
* * re.IgnoreCase = False
* * re.Global = True

For j = 0 To UBound(vRule)
* * re.Pattern = aRule(vRule(j))
* * ReDim aResRule2(UBound(aResRule1))
* * 'move current results to aResRule2
* * * * For i = 0 To UBound(aResRule1)
* * * * * * aResRule2(i) = aResRule1(i)
* * * * Next i
* * 'clear out aResRule1
* * ReDim aResRule1(0)
* * For i = 0 To UBound(aResRule2)
* * * * Set mc = re.Execute(aResRule2(i))
* * * * * * For Each m In mc
* * * * * * * * If Len(aResRule1(0)) 0 Then
* * * * * * * * * * ReDim Preserve aResRule1(UBound(aResRule1) + 1)
* * * * * * * * End If
* * * * * * * * * * aResRule1(UBound(aResRule1)) = m
* * * * * * Next m
* * *Next i
Next j
'clear and write results below
WriteResults aResRule1, c.Offset(2, 0)
End Sub
Sub WriteResults(res, rDest As Range)
'clear out range for results
Range(rDest, rDest.End(xlDown)).Clear
Dim i As Long
* * For i = 0 To UBound(res)
* * * * rDest(i + 1, 1).Value = res(i)
* * Next i
With rDest(i + 1, 1)
* * .Value = "End of List of Strings"
* * .Font.Italic = True
* * .Font.Bold = True
* * .Font.Color = vbRed
End With
End Sub
=============================
--ron


Dear Ron,
Excelent!!! Thank you very much!
Luciano
  #7   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 5,651
Default Macro to apply parsing rules for strings and list the substrings

On Sat, 18 Apr 2009 07:50:32 -0700 (PDT), Luciano Paulino da Silva
wrote:

Dear Ron,
Excelent!!! Thank you very much!
Luciano


You're welcome. Glad to help. Thanks for the feedback.

Here are some links to information regarding Regular Expressions, if you need
them:

Regular Expressions
http://www.regular-expressions.info/reference.html
http://support.microsoft.com/default...02&Product=vbb
http://msdn2.microsoft.com/en-us/library/6wzad2b2.aspx
http://msdn2.microsoft.com/en-us/library/ms974619.aspx
--ron
  #8   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 77
Default Macro to apply parsing rules for strings and list the substrings

On 18 abr, 15:18, Ron Rosenfeld wrote:
On Sat, 18 Apr 2009 07:50:32 -0700 (PDT), Luciano Paulino da Silva

wrote:
Dear Ron,
Excelent!!! Thank you very much!
Luciano


You're welcome. *Glad to help. *Thanks for the feedback.

Here are some links to information regarding Regular Expressions, if you need
them:

Regular Expressionshttp://www.regular-expressions.info/reference.htmlhttp://support.microsoft.com/default.aspx?scid=kb;en-us;818802&Produc...http://msdn2.microsoft.com/en-us/lib.../ms974619.aspx
--ron


Thank you Ron!
I will study the regular expressions and implement the code.
Best regards,
Luciano
  #9   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 77
Default Macro to apply parsing rules for strings and list the substrings

On 18 abr, 15:18, Ron Rosenfeld wrote:
On Sat, 18 Apr 2009 07:50:32 -0700 (PDT), Luciano Paulino da Silva

wrote:
Dear Ron,
Excelent!!! Thank you very much!
Luciano


You're welcome. *Glad to help. *Thanks for the feedback.

Here are some links to information regarding Regular Expressions, if you need
them:

Regular Expressionshttp://www.regular-expressions.info/reference.htmlhttp://support.microsoft.com/default.aspx?scid=kb;en-us;818802&Produc...http://msdn2.microsoft.com/en-us/lib.../ms974619.aspx
--ron


I`m trying but for several situations I could not implement the
rules... :-/
  #10   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 5,651
Default Macro to apply parsing rules for strings and list the substrings

On Sat, 18 Apr 2009 18:12:42 -0700 (PDT), Luciano Paulino da Silva
wrote:

On 18 abr, 15:18, Ron Rosenfeld wrote:
On Sat, 18 Apr 2009 07:50:32 -0700 (PDT), Luciano Paulino da Silva

wrote:
Dear Ron,
Excelent!!! Thank you very much!
Luciano


You're welcome. *Glad to help. *Thanks for the feedback.

Here are some links to information regarding Regular Expressions, if you need
them:

Regular Expressionshttp://www.regular-expressions.info/reference.htmlhttp://support.microsoft.com/default.aspx?scid=kb;en-us;818802&Produc...http://msdn2.microsoft.com/en-us/lib.../ms974619.aspx
--ron


I`m trying but for several situations I could not implement the
rules... :-/


Well, post them and I or someone will give it a try. In addition to the rules,
also post the source string and the expected results.

I don't mind doing a few.
--ron


  #11   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 77
Default Macro to apply parsing rules for strings and list the substrings

On 18 abr, 22:12, Luciano Paulino da Silva
wrote:
On 18 abr, 15:18, Ron Rosenfeld wrote:

On Sat, 18 Apr 2009 07:50:32 -0700 (PDT), Luciano Paulino da Silva


wrote:
Dear Ron,
Excelent!!! Thank you very much!
Luciano


You're welcome. *Glad to help. *Thanks for the feedback.


Here are some links to information regarding Regular Expressions, if you need
them:


Regular Expressionshttp://www.regular-expressions.info/reference.htmlhttp://support.micr...
--ron


I`m trying but for several situations I could not implement the
rules... :-/


Dear Ron,
I had forgotten to say that in some circunstances it is necessary to
specify that the rule could avoid parse 1, 2, 3... of the letters.
For example, we have the string bellow and following a rule that parse
after K. If I specify the possibility of one (1) lost parsing, we
should have as result:

ASADASDASKASSASADASASADKASADASASAKDDAASASKASSADADA SKSASA

ASADASDASK
ASSASADASASADK
ASADASASAK
DDAASASK
ASSADADASK
SASA
ASADASDASKASSASADASASADK
ASSASADASASADKASADASASAK
ASADASASAKDDAASASK
DDAASASKASSADADASK
ASSADADASKSASA

Do you have any idea how to implement that in your script?
Thanks in advance,
Luciano
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
lookup specific text, then apply rules JAB Excel Worksheet Functions 0 June 27th 06 05:01 PM
String parsing with variable lenght strings frosterrj Excel Worksheet Functions 10 March 31st 06 11:46 PM
How to find number of pairs of strings from list of strings? greg_overholt Excel Worksheet Functions 5 January 27th 06 10:42 PM
Create template that ignors data list rules Cmac via OfficeKB.com New Users to Excel 0 November 5th 05 05:57 AM
Searching for Substrings Within Strings Tiziano Excel Discussion (Misc queries) 8 January 6th 05 03:09 AM


All times are GMT +1. The time now is 12:32 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"