Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Chrtran() applied selectively
Message
From
04/06/2016 18:17:06
 
 
To
04/06/2016 02:59:46
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01636985
Message ID:
01637007
Views:
73
Eureka!!!!! great many thanks Greg and Antonio for adapting this - I could not trip this up with all the variations I threw at it. Fantastic!

karen



>>I am searching for the most expedient way to change a character in a specific area of a string.
>>
>>mstr='1st-title: ANAME-HER : 3520931 place[21-22]'
>>in this string the hyphen between 21 and 22 should be a dot.
>>if I applied chrtran() I would end up changing all the hyphens which I do not want to do.
>>
>>right now all I've been able to accomplish is to locate the error in a portion of the string, but putting it back together is starting to get a bit unwieldy.
>>Is there a simpler more direct route of directing the chrtran() to the area beyond '['
>>
>>thanks
>>k
>Karen,
>
>If you have been able to locate the error portion, use something like
>
> substr(mstr,1 , pos-1) + '.' + substr(mstr, pos+1)
>
>
>Also, if
>(1) [ followed by two digits are immediately before the hyphen, and
>(2) two digits and ] immediately follow the hyphen
>
>Then regular expressions may be of help
>
>
>*_______________________________________________________________________________
>function do_it()
>	
>	local regexObj
>	regexObj = createobject('VBScript.RegExp')
>	regexObj.Global = .t.
>	regexObj.IgnoreCase = .f.
>	regexObj.Pattern = '(\[\d\d)(-)(\d\d\])'
>	
>	local s, x
>	s ='1st-title: ANAME-HER : 3520931 place[21-22]'
>	?s
>	x = m.regexObj.Replace(m.s, '$1.$3')
>	?x
>	
>endfunc
>*_______________________________________________________________________________
>
Previous
Reply
Map
View

Click here to load this message in the networking platform