Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Using STREXTRACT
Message
De
06/10/2018 13:59:02
 
 
À
06/10/2018 13:24:37
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Windows 7
Network:
Windows XP
Database:
Visual FoxPro
Application:
Desktop
Divers
Thread ID:
01662486
Message ID:
01662488
Vues:
42
>>Hi,
>>Please consider these two cases
>>
>>A=F1 (Plan 99 \Old Plan 100\)472 676 w
>>A=F1 (Plan 99 \(Old Plan 100\))472 676 w
>>
>>
>>I need to Extract the Text Between the two Brackets i.e "(" and ")"
>>
>>If I use STREXTRACT(A,'(',')'), for the first Case I get " Plan 99 \Old Plan 100\", which is correct as per my requirement.
>>
>>But I get "Plan 99 \(Old Plan 100\" for my second case while It need "Plan 99 \(Old Plan 100\)".
>>
>>I Need to extract the Text Between Two Extreme Brackets. How to do this in both the above situation.
>>
>>Thanks
>
>Harsh,
>
>A generalized function that expands on STREXTRACT():
>
>
>? OuterStrExtract("A=F1 (Plan 99 \Old Plan 100\)472 676 w", "(", ")")
>? OuterStrExtract("A=F1 (Plan 99 \(Old Plan 100\))472 676 ", "(", ")")
>
>FUNCTION OuterStrExtract (Searched AS String, BeginDelimiter AS String, EndDelimiter AS String)
>
>	LOCAL ARRAY Segments(1)
>	LOCAL SegIndex AS Integer
>	LOCAL RebuildInnerStr AS String
>	LOCAL OuterString AS String
>
>	m.OuterString = ""
>	m.RebuildInnerStr = ""
>
>	FOR m.SegIndex = 1 TO ALINES(m.Segments, STREXTRACT(m.Searched, m.BeginDelimiter, "", 1), 0, m.EndDelimiter) - 1
>		m.OuterString = m.OuterString + m.RebuildInnerStr + m.Segments(m.SegIndex)
>		m.RebuildInnerStr = m.EndDelimiter
>	ENDFOR
>
>	RETURN m.OuterString
>
>ENDFUNC
>
Thank You Sir
Harsh
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform