Path: ...!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Richard Owlett Newsgroups: comp.editors Subject: Re: Please ignore my previous post - Re: Automating an atypical search & replace Date: Sun, 14 Jul 2024 02:33:25 -0500 Organization: A noiseless patient Spider Lines: 95 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sun, 14 Jul 2024 09:33:27 +0200 (CEST) Injection-Info: dont-email.me; posting-host="8cfde130f10120b6311c666ac98d8d71"; logging-data="67605"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Rd/CeaMgzCp2gCVrBmtwG1Rs+sqCMuwI=" User-Agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 Cancel-Lock: sha1:MLSQYc9J2T/lmywWgdmif6Mht9E= In-Reply-To: Bytes: 4316 On 07/13/2024 12:55 PM, Janis Papanagnou wrote: > Please ignore my previous post - it would delete the whole span'ed > section! > > > It just occurred to me you'd probably want something like > > / > df> > /<\/span> > df> > > And if you're using recording of the commands (I'll provide code > on demand) just repeat the recordings. You can also just use the > arrow keys after typing / to get the previous search patterns > if you like. I don't know how to parse your answer. But I suspect following some leads from Lawrence and Stan in this thread will be illuminating. I have just started reading https://docs.kde.org/stable5/en/kate/katepart/regular-expressions.html . Part of my motive for this project is self education. > > > On 13.07.2024 19:48, Janis Papanagnou wrote: >> On 13.07.2024 18:08, Richard Owlett wrote: >>> I'm reformatting some HTML files containing chapters of the KJV Bible. >>> My source follows the practice of italicizing some words. >>> I find italics distracting. >>> >>> These occurrences are consistently of the form >>> arbitrary_text >>> >>> I wish to delete "" and *ASSOCIATED* "". >>> Obviously it would not be wise to fully automate the action. >>> I wish to find all occurrences of >> class='add'>arbitrary_text an manually confirm the edit. >>> >>> In general, is it feasible? >> >> Yes, sure. >> >> Some remarks... >> I would use Regular Expressions (RE) for that task. >> If sections can be nested in your HTML source then you >> cannot do that with plain RE processors. >> Since you want to inspect each pattern individually it's >> not clear what you mean by "automate" (which I'd interpret as >> running a batch job to do the process). >> Actually you seem to want a sequential find + replace-or-skip. >> >> In Vim I'd search for the "> to the next "" pattern. (Assuming no nested .) >> Rinse repeat. >> That could be (for example) the commands [case 1] >> >> / >> d/<\/span>df> >> >> If there's no other <...> inside the span-sections you could >> simplify that to [case 2] >> >> / >> d2f> >> >> with the opportunity to repeat those search+delete commands >> by simply typing n. for every match, like n.n.n.n. or if >> you want to skip some like, e.g., n.nnnn.n.nnn.n >> >> With n you get to the next span pattern and . repeats the >> last command. >> >> In [case 1] the repeat isn't possible since we have two delete >> operations d/<\/span> and df> , but here you can define >> macros to trigger the command by a keystroke or just use the >> recording function to repeat the once recorded commands. >> >> Sounds complicated? - Maybe. - But if we know your exact data >> format we can provide the best command sequence for Vim for >> most easy use. >> >> >>> Can KDE's Kate do it? >> >> Don't know. >> >> Janis >> >>> >>> TIA >> >