Strip characters out of each line of text?

I want to strip 20 characters out of each line of text, and then return the results to the clipboard.

I managed to do it with 1 line of text

set the_text to "2018-01-04 - AMEX - January - Groceries"
set cropped_text to text 21 thru -1 of the_text

set the clipboard to cropped_text

But what like to do is select some lines of text like the example below

2017-12-14 - AMEX - December - Groceries
2017-12-17 - AMEX - December - Fuel
2017-12-19 - AMEX - December - Leisure
2018-01-04 - AMEX - January - Fuel
2018-01-06 - AMEX - January - Cinema
2018-01-09 - AMEX - January - Hardware

Then run the script to end up with text like this below (with the results copied to the clipboard)

December - Groceries
December - Fuel
December - Leisure
January - Fuel
January - Cinema
January - Hardware

My AppleScript knowledge is very limited. Is this possible?

Use a repeat loop, add the stripped text of each line to a list variable, join the list with text item delimiters and put the result on the clipboard.

set theText to "2017-12-14 - AMEX - December - Groceries
2017-12-17 - AMEX - December - Fuel
2017-12-19 - AMEX - December - Leisure
2018-01-04 - AMEX - January - Fuel
2018-01-06 - AMEX - January - Cinema
2018-01-09 - AMEX - January - Hardware"

set theResult to {}
repeat with oneLine in (get paragraphs of theText)
	set end of theResult to text 21 thru -1 of oneLine
end repeat

set {TID, text item delimiters} to {text item delimiters, return}
set the clipboard to theResult as text
set text item delimiters to TID

Perfect, thanks a lot!

…so I modified the script a little (copied a section from another script and pasted it into this one) to replace ’ - ’ with ': ’

set theText to the clipboard

set AppleScript's text item delimiters to " - "
set newText to every text item of theText
set AppleScript's text item delimiters to ": "
set theText to newText as text
set AppleScript's text item delimiters to ""

set theResult to {}
repeat with oneLine in (get paragraphs of theText)
	set end of theResult to text 19 thru -1 of oneLine
end repeat

set {TID, text item delimiters} to {text item delimiters, return}
set the clipboard to theResult as text
set text item delimiters to TID

It works OK, but is that the ‘correct/elegant’ way to do it, or should it somehow be included in the repeating part of the script?