Copying contents between a specific string and a character
-
Hi All!
I’d like to request a bit of help with the following.
I have a text-file (converted from an e-book) with a structure like this:
9/Maywood
Description of the band, stories and anecdotes about them, etc.
Albums:
1983 - Het beste van Maywood
1987 - Beside You
1990 - Achter De Horizon
1991 - 6 Of The Thirties10/Talking Heads
Description of the band, stories and anecdotes about them, etc.
Albums:
Fear of Music (1979)
Remain in Light (1980)11/Sly and the Family Stone
Description of the band, stories and anecdotes about them, etc.
Albums:
1968: Life
1969: Stand!
1971: There’s a Riot Goin’ On12/Delaney & Bonnie
Description of the band, stories and anecdotes about them, etc.
Albums:
To Bonnie from Delaney - Atco, 1970
Motel Shot - Atco, 1971
Country Life - Atco, 1972
D&B Together - Columbia, 197213/Mother’s Finest
Description of the band, stories and anecdotes about them, etc.
Albums:
Iron Age (1981), Atlantic14/INXS
Description of the band, stories and anecdotes about them, etc.
Albums:
Shabooh Shoobah (1982)
The Swing (1984)
Listen Like Thieves (1985)and so on…containing approx. 800 bands.
I need a file containing only the albums ("Albums:’ line included) uninterruptedly in the following format:
Albums:
1983 - Het beste van Maywood
1987 - Beside You
1990 - Achter De Horizon
1991 - 6 Of The Thirties
Albums:
Fear of Music (1979)
Remain in Light (1980)
Albums:
1968: Life
1969: Stand!
1971: There’s a Riot Goin’ On
Albums:
To Bonnie from Delaney - Atco, 1970
Motel Shot - Atco, 1971
Country Life - Atco, 1972
D&B Together - Columbia, 1972
Albums:
Iron Age (1981), Atlantic
Albums:
Shabooh Shoobah (1982)
The Swing (1984)
Listen Like Thieves (1985)
.
.
.What way can I achieve this?
So the line “Albums:” is constant in the original file and every page starts with page number/band so slash is steadily presented as well.I guess somehow we can copy the texts between these two and go from there?
Thank you so much and have a nice day,
Viktoria -
Using the technique from @guy038 in this thread; specifically:
SEARCH : (?s).*?(Your Regex)|.*
and substituting
?:^(Albums:\R.*?\R)\R
into it forYour Regex
I was able to arrive at your desired result.
So, in summary:
Find what zone:
(?s).*?(?:^(Albums:\R.*?\R)\R)|.*
Replace with zone:\1
Search mode: Regular expression
Action: Replace or Replace All
Note: This is a destructive replacement, not a copy, so if you need the original data, make a copy of it first and then perform this operation on the copy.BTW, very nice sample data and discussion about what you wanted!
-
Hello, @viktoria-ontapado, and All,
Again, easy task with the help of regular expressions ;-))
From your example, seemingly, the areas of text to delete must :
-
Begins after two consecutive line breaks ( CR LF CR LF ), so the regex
\R\R
-
Ends right before the string Albums:, beginning a line, so the look-ahead
(?=\RAlbums)
-
In between, we have to select the shortest range of any character(s), between these boundaries, even split on several lines, so the regex
(?s).*?
So :
-
Possibly, add two lines breaks, at the very beginning of your list
-
Open the Replace dialog (
Ctrl + H
)
SEARCH
\R\R(?s).*?(?=\RAlbums:)
REPLACE
Leave EMPTY
-
Select the
Regular expression
search mode -
Set the
Wrap around
option -
Click, once on the
Replace All
button OR several times on theReplace
button
Et voilà !
So, given your list, below :
9/Maywood Description of the band, stories and anecdotes about them, etc. Albums: 1983 - Het beste van Maywood 1987 - Beside You 1990 - Achter De Horizon 1991 - 6 Of The Thirties 10/Talking Heads Description of the band, stories and anecdotes about them, etc. Albums: Fear of Music (1979) Remain in Light (1980) 11/Sly and the Family Stone Description of the band, stories and anecdotes about them, etc. Albums: 1968: Life 1969: Stand! 1971: There’s a Riot Goin’ On 12/Delaney & Bonnie Description of the band, stories and anecdotes about them, etc. Albums: To Bonnie from Delaney - Atco, 1970 Motel Shot - Atco, 1971 Country Life - Atco, 1972 D&B Together - Columbia, 1972 13/Mother’s Finest Description of the band, stories and anecdotes about them, etc. Albums: Iron Age (1981), Atlantic 14/INXS Description of the band, stories and anecdotes about them, etc. Albums: Shabooh Shoobah (1982) The Swing (1984) Listen Like Thieves (1985)
You should get the expected text :
Albums: 1983 - Het beste van Maywood 1987 - Beside You 1990 - Achter De Horizon 1991 - 6 Of The Thirties Albums: Fear of Music (1979) Remain in Light (1980) Albums: 1968: Life 1969: Stand! 1971: There’s a Riot Goin’ On Albums: To Bonnie from Delaney - Atco, 1970 Motel Shot - Atco, 1971 Country Life - Atco, 1972 D&B Together - Columbia, 1972 Albums: Iron Age (1981), Atlantic Albums: Shabooh Shoobah (1982) The Swing (1984) Listen Like Thieves (1985)
Best Regards,
guy038
P.S. :
Viktoria, I’ve just realized that Scott already gave you a solution ! Anyway, I do agree with the last sentence of his reply, too !
-
-
As usual, I really appreciate the answers, thank you so much to both of you for the solutions, explanations.
The link to the other thread is invaluable as well to me, cheers for that.