It works that way in 7.5, but with "1" as the fourth parameter, you'll be
hard pressed to remove one of the enclosing spaces.

E.g.
SRPL('cat dog pig','dog','',1) = 'cat  pig' (2 spaces between cat/pig)
SRPL('cat dog pig','dog ','',1) = 'cat dog pig'
SRPL('cat dog pig',' dog','',1) = 'cat dog pig'
SRPL('cat dog pig',' dog ','',1) = 'cat dog pig'

But

SRPL('cat dog pig','dog ','',0) = 'cat pig'
SRPL('cat dog pig',' dog','',0) = 'cat pig'
SRPL('cat dog pig',' dog ','',0) = 'catpig'



Regards,
 
Stephen Markson
ForenSys The Forensic Systems Group
www.ForenSys.ca
416 512 6950
 
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Dennis
> McGrath
> Sent: January 14, 2009 1:34 PM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: SRPL limit?
> 
> Marc,
> 
> I just got a heads up from a friend that this was fixed very recently.
> 
> I am not on the VERY latest 7.6 since we have to down everything to update
> to the latest indexing.
> 
> Here is their note:
> 
> >>I just tried (in 7.6) these commands:
> 
> >>set var vtest = (SRPL('ABC', 'B', NULL, 0))
> >>set var vtest = (SRPL('ABC', 'B', '', 0))
> 
> >>Both produced 'AC' as the result, as expected.
> 
> >>I can't remember when this was fixed, but it was pretty recently.
> 
> 
> Dennis
> 
> 
> 
> 
> 
> 
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> Sent: Wednesday, January 14, 2009 11:47 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: SRPL limit?
> 
> Dennis
> 
> That would really stretch my head and hurt for months.
> 
> I have about 25 fields that I want to SRPL and each of these fields may be
> used
> 3-4 times in the text. That would be a major head stretcher to me.
> 
> It seems I can come up with strange needs in my app.
> 
> Thanks
> Marc
> 
> 
> ----- Original Message -----
> From: "Dennis McGrath" <[email protected]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Wednesday, January 14, 2009 11:17 AM
> Subject: [RBASE-L] - RE: SRPL limit?
> 
> 
> Mark,
> 
> Why not populate a table with columns FindText and NewText.
> Declare a cursor on this table and loop through, +
> calling my code each time.
> 
> Would this work for you?
> 
> Dennis
> 
> 
> 
> 
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> Sent: Wednesday, January 14, 2009 10:29 AM
> To: RBASE-L Mailing List
> Subject: [RBASE-L] - RE: SRPL limit?
> 
> Jim
> 
> By George I think you got it
> I only had a time for a quick text but it look OK so far.
> 
> I am about 1/2 way through adding Dennis's suggestion
> now I may have 2 choices.
> 
> Thanks
> Marc
> 
> 
> 
> ----- Original Message -----
> From: "James Bentley" <[email protected]>
> To: "RBASE-L Mailing List" <[email protected]>
> Sent: Wednesday, January 14, 2009 8:37 AM
> Subject: [RBASE-L] - RE: SRPL limit?
> 
> 
> > If you want to replace something with null try the following syntax:
> > SET VAR vadjdesc4 = +
> > (SRPL(.vadjdesc3,'[sx2]',(IFNULL(.vsympt2,NULL ,.vsympt2)) ,1))
> >
> > use the keyword NULL
> >
> > Jim Bentley
> > American Celiac Society
> > [email protected]
> > tel: 1-504-737-3293
> >
> >
> >
> > ----- Original Message ----
> > From: MDRD <[email protected]>
> > To: RBASE-L Mailing List <[email protected]>
> > Sent: Tuesday, January 13, 2009 7:15:43 AM
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> > Thanks Dennis, Larry, Karen, Stephen, Bill and all for the help
> >
> > Not sure why I thought of that.  I just got lucky.
> >
> >
> > Thanks Marc
> >
> > ----- Original Message ----- From: "Dennis McGrath"
> <[email protected]>
> > To: "RBASE-L Mailing List" <[email protected]>
> > Sent: Monday, January 12, 2009 5:53 PM
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> >
> > oooo, tricky Mark.
> >
> > but just to avoid confusion over terminology,  use vNoText instead of
> > vNull.
> > CHAR(0) is not null but actually a ZERO length text.
> >
> > Dennis
> >
> > ________________________________________
> > From: [email protected] [[email protected]] On Behalf Of MDRD
> > [[email protected]]
> > Sent: Monday, January 12, 2009 3:52 PM
> > To: RBASE-L Mailing List
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> > Ok
> >
> > I think I found the answer.
> >
> > set var vnull = ''  did not work soo I tried this and it seems to work
> >
> > SET VAR vnull TEXT = (CHAR(0))
> > SET VAR vadjdesc4 = +
> > (SRPL(.vadjdesc3,'[sx2]',(IFNULL(.vsympt2,.vnull ,.vsympt2)) ,1))
> >
> >
> > Thanks All
> > Marc
> >
> >
> >
> > ----- Original Message -----
> > From: "Dennis McGrath" <[email protected]>
> > To: "RBASE-L Mailing List" <[email protected]>
> > Sent: Monday, January 12, 2009 2:41 PM
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> >
> > Marc,
> >
> > Well it looks like you need a little stretching!
> > It doesn't hurt.
> >
> > Put my code in a file and run it.
> >
> > You will see the result = ac, b has been replaced with nothing
> >
> >
> > Try it with vRepl = a or b or c or x
> >
> > You will see the results.
> >
> > It is doing the SRPL the hard way, by grabbing the texts before and
> after
> > the Find text and inserting the replace text between them.
> >
> > Look up the functions I've used in help so you understand them.
> >
> > Trace it and watch the variables.
> >
> > I think you will get the idea
> >
> > Dennis
> >
> >
> >
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> > Sent: Monday, January 12, 2009 2:25 PM
> > To: RBASE-L Mailing List
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> > Dennis
> >
> > Thanks for the code, sad to say you are still stretching me with that
> > example.
> > SRPL still seems much easier in my mind.
> >
> > I will have to get a strong cup of coffee and study this some more.
> >
> > Marc
> >
> >
> >
> >
> > ----- Original Message -----
> > From: "Dennis McGrath" <[email protected]>
> > To: "RBASE-L Mailing List" <[email protected]>
> > Sent: Monday, January 12, 2009 2:03 PM
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> >
> > Marc,
> >
> > You can create your own custom functions for RBase to use.
> >
> > Not withstanding that, here is some sample code on how work around the
> > SRPL
> > problem. This method works whether your replacement value is null or not
> >
> >
> >
> > SET VAR vTmp = 'abc' -- original text
> > SET VAR vFind = 'b' -- Text to find
> > SET VAR vRepl TEXT = NULL -- text to substitute
> >
> > SET VAR vPos INTEGER
> > SET VAR vLen INTEGER
> > SET VAR vPre TEXT
> > SET VAR vPost TEXT
> >
> > SET VAR vPos = (SLOC(.vTmp,.vFind))
> > IF vPos > 0 THEN
> > SET VAR vLen = (SLEN(.vFind))
> > SET VAR vPre = (SGET(.vTmp,(.vPos-1),1))
> > SET VAR vPost = (SGET(.vTmp,(SLEN(.vTmp)),(.vPos+.vLen)))
> > SET VAR vTmp = (.vPre+.vRepl+.vPost)
> > ENDIF
> >
> >
> > SHOW V vTmp
> > RETURN
> >
> > Dennis McGRath
> >
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> > Sent: Monday, January 12, 2009 1:37 PM
> > To: RBASE-L Mailing List
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> > Dennis
> >
> > You and Larry are talking over my head and give me too much credit.
> >
> > Marc
> >
> > ----- Original Message -----
> > From: "Dennis McGrath" <[email protected]>
> > To: "RBASE-L Mailing List" <[email protected]>
> > Sent: Monday, January 12, 2009 1:15 PM
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> >
> > I think one of your best bets is to do as Larry suggested and make you
> own
> > function (stored procedure) that you can call.
> >
> > I suspect someone on this list already has such a function written.
> >
> > Dennis
> >
> >
> > -----Original Message-----
> > From: [email protected] [mailto:[email protected]] On Behalf Of MDRD
> > Sent: Monday, January 12, 2009 12:27 PM
> > To: RBASE-L Mailing List
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> > Dennis
> >
> > I thought of that but extra spaces would look bad in the paragraph.
> >
> > It seems I can come up with some strange needs in my APP.
> >
> > Marc
> >
> >
> > ----- Original Message -----
> > From: "Dennis McGrath" <[email protected]>
> > To: "RBASE-L Mailing List" <[email protected]>
> > Sent: Monday, January 12, 2009 12:16 PM
> > Subject: [RBASE-L] - RE: SRPL limit?
> >
> >
> > Bummer,
> >
> > As far as I can tell, it has worked that way for some time.
> > It does limit the usefulness of this function quite a lot.
> >
> > You could change himer to a space but that may not be what you want.
> >
> > Dennis McGrath
> >
> >
> >
> >
> >
> 
> 
> 
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com
> Version: 8.0.176 / Virus Database: 270.10.5/1882 - Release Date: 1/14/2009
> 6:59 AM


Reply via email to