[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