[Gambas-user] Delete sentance between words in a file.

nando nando_f at ...951...
Tue Mar 27 19:09:36 CEST 2012


An Very Simplified Example:
(Best viewed in fixed-width font)
(There are many other (and better) ways to do this)

A = "A Tall Lad Sold All The Desks"
'    12345678901234567890123456789   29 characters long
R =   "Tall Lad Sold All The"        This sub string is to be removed (21 chars long)
'Remove^^^^^^^^^^^^^^^^^^^^^         Remove R from within A  

X = INSTR$(A, R)           'This will make X = 3
Y = X + LEN(R)             'This will make Y = 3 + 21 = 24

'we want to remove starting from the 'T' in Tall to the 'e' in The
'What we're really doing is:
'...keep everything starting at the beginning up to the 'T' in Tall but not including it
'...and starting after the 'e' in The to the end

B = MID$(A,1,X - 1)        'Keep the first part : Position 1...(X-1) = 1..2
C = MID$(A,Y)              'Keep the second part: Position 24 ..end  = 24..29

D = B + C                  'Combine both together

PRINT D 
'result: D = "A  Desks"




---------- Original Message -----------
From: tobi <tobiasboege01 at ...1601...>
To: sundar_ima at ...251..., mailing list for gambas users
<gambas-user at lists.sourceforge.net>
Sent: Tue, 27 Mar 2012 17:06:39 +0200
Subject: Re: [Gambas-user] Delete sentance between words in a file.

> hi,
> 
> On Mon, 26 Mar 2012, sundar j wrote:
> > How do i delete a sentence/line between two matching words? For example i have a long
paragraph starting with ABC-Start and ending with XYZ-End. I need to delete all the words
including ABC-Start & XYZ-End. I have gone through the gambas documentation and found
replace string function. However it did not do the job as i expected. Any help is appreciated.
> > ------------------------------------------------------------------------------
> > This SF email is sponsosred by:
> > Try Windows Azure free for 90 days Click Here 
> > http://p.sf.net/sfu/sfd2d-msazure
> > _______________________________________________
> > Gambas-user mailing list
> > Gambas-user at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gambas-user
> 
> i'd tend to use the Mid$() function. if you got the positions of the two 
> delimiters it is as easy as concatenating the string on the left of the 
> beginning delimiter and the string on the right of the right delimiter. code is 
> beyond words:
> 
> Dim iStart, iEnd As Integer
> Dim sRest As String
> 
> iStart = InStr(sWholeText, sBegDelim)
> iEnd = InStr(sWholeText, sEndDelim, iStart) + Len(sEndDelim)
> 
> sRest = Mid$(sWholeText, 0, iStart - 1) & Mid$(sWholeText, iEnd)
> 
> which then is the parts before and after the found strings.
> 
> there may be off-by-one errors, i couldn't try it, but you get the idea.
> 
> regards,
> tobi
> 
> ------------------------------------------------------------------------------
> This SF email is sponsosred by:
> Try Windows Azure free for 90 days Click Here 
> http://p.sf.net/sfu/sfd2d-msazure
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
------- End of Original Message -------





More information about the User mailing list