Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 43 |
Nodes: | 6 (0 / 6) |
Uptime: | 102:18:07 |
Calls: | 290 |
Files: | 905 |
Messages: | 76,549 |
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
<span class='add'>arbitrary_text</span>
I wish to delete "<span class='add'>" and *ASSOCIATED* "</span>".
Obviously it would not be wise to fully automate the action.
I wish to find all occurrences of <span
class='add'>arbitrary_text</span> an manually confirm the edit.
In general, is it feasible?
Yes, sure.
Some remarks...
I would use Regular Expressions (RE) for that task.
If <span> sections can be nested in your HTML source then you
cannot do that with plain RE processors.
Since you want to inspect each <span> 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 "<span ..." pattern and then delete
to the next "</span>" pattern. (Assuming no nested <span>.)
Rinse repeat.
That could be (for example) the commands [case 1]
/<span class='add'>
d/<\/span>df>
If there's no other <...> inside the span-sections you could
simplify that to [case 2]
/<span class='add'>
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
Please ignore my previous post - it would delete the whole span'ed
section!
It just occurred to me you'd probably want something like
/<span class='add'>
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.
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
<span class='add'>arbitrary_text</span>
I wish to delete "<span class='add'>" and *ASSOCIATED* "</span>".
Obviously it would not be wise to fully automate the action.
I wish to find all occurrences of <span
class='add'>arbitrary_text</span> an manually confirm the edit.
In general, is it feasible?
Yes, sure.
Some remarks...
I would use Regular Expressions (RE) for that task.
If <span> sections can be nested in your HTML source then you
cannot do that with plain RE processors.
Since you want to inspect each <span> 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 "<span ..." pattern and then delete
to the next "</span>" pattern. (Assuming no nested <span>.)
Rinse repeat.
That could be (for example) the commands [case 1]
/<span class='add'>
d/<\/span>df>
If there's no other <...> inside the span-sections you could
simplify that to [case 2]
/<span class='add'>
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
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
/<span class='add'>
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.