Regex and digitized books#
Get text data#
Let us download one of the digitized books from The Royal Danish Library. The digitized books are ocr scanned (Optical Character Recognition) and available as pdf-files.
We download the book, extract the text content and store it in a variable called full_text.
#! pip install PyPDF2
import requests
from io import BytesIO
from PyPDF2 import PdfReader
# URL to the ocr scanned, pdf verison of the text
url = "https://www.kb.dk/e-mat/dod/130014244515_bw.pdf"
# Download the pdf file
response = requests.get(url)
response.raise_for_status() # Check if the request was successful
# Open the pdf file in memory
pdf_file = BytesIO(response.content)
# Create a PDF reader object
reader = PdfReader(pdf_file)
# Extract text from each page starting from page 5
text_content = []
for page in reader.pages[4:]:
text_content.append(page.extract_text())
# Join all the text content into a single string
full_text = "\n".join(text_content)
# Print the extracted text
print(full_text[0:1000])
TRAVELS
\
THROUGH
D E N M A B K ,
%
AND PART OF
S W E D E N ,
%
DURING THE WINTER AND SPRING OF THE YEAR
1809 :
i
CONTAINING'
f »
#
é •
AUTHENTIC PARTICULARS OF THE DOMESTIC CONDITION
OF THOSE COUNTRIES, THE OPINIONS OF THE INHA-
BITANTS, AND THE STATE OF AGRICULTURE.
' /
B Y JAM ES MACDONALD.
f\
\
\
LONDON:
^ 4
PRINTED FOR RICHARD PH ILLIPS,
BRIDGE STREET, BLACKFRIARS,
liy B. MC MIEI.AN, BOW STREET, COVENT GARDEN.'
5 .
I.’ V - ■
II
l
V.‘ l';
\ * ;• •(
I
* : '* J \;■>- • 4
1 ^
i
1
\
i
t
>
\if; ■ '■V
5 , ■ ‘ , r
r * . ■ ; ' p O V : t h .' V ' : H
*x't;'r. V i . }C ,"'.. ■ V r f V
’ f'At ’ -V * ■ ' . f\*
■ r.-'i , r ' - 1.;' ;*-L '^ V . - 't . ■ ' ■ '* - c v J * ' • j
' Z " ^ x - , u'.-'--V "
;' - i.• ■ i\
ADVERTISEMENT.
IN a letter to the Publisher, the Author of the follow«
ing pages informs -him, that his desultory Jovirnal was
written during a tour in the Spring of 1809, through some
Danish and Swedish Provinces; and he cannot but think,
that
reader.pages[0].extract_text()
'Digitaliseret af | Digitised by\nForfatter(e) | Author(s): Macdonald, James.\nTitel | Title: Travels through Denmark and part of Sweden\nduring the winter and spring of the year\n1809 : Containing authentic particulars of the\ndomestic condition of those countries, the\nopinions of the inhabitants, and the state of\nagriculture.\nUdgivet år og sted | Publication time and place: London : Richard Phillips, 1810\nFysiske størrelse | Physical extent: 88 s.\nDK\nMaterialet er fri af ophavsret. Du kan kopiere, ændre, distribuere eller\nfremføre værket, også til kommercielle formål, uden at bede om tilladelse.\nHusk altid at kreditere ophavsmanden.\nUK\nThe work is free of copyright. You can copy, change, distribute or present the\nwork, even for commercial purposes, without asking for permission. Always\nremember to credit the author.'
RegEx to clean / preprocess text#
When we work with Regex, the website regex101.com is a brilliant tool. We can help partly to understand Regex, partly to write a Regex pattern. It is a good idea to take ten minutes to familiarize yourself with the page.
Try inserting this text string in the ‘TEXT STRING’ field:
He observes, that he has not only committed to paper his
own opinions, but also, those of persons with wliom he con-
versed in the above-mcnt ioned eountries i
In the ‘REGULAR EXPRESSION’ field you can write this pattern 'W+\'
.
What happens when you start typing?
In the field EXPLANATION, at the top of the right side, you can read an explanation of the regex pattern.
Write a function to clean text#
The Python function ‘clean’ below we use to clean the text of all characters other than letters.
import re
def clean(text):
# match a variety of punctuation and special characters
# backslash \ and the pipe symbols | plays important roles, for example here \?
# Now it is a good idea to look up a see what \ and | does
text = re.sub(r'\.|,|:|;|!|\?|\(|\)|\||\+|\'|\"|‘|’|“|”|\'|\’|…|\-|_|–|—|\$|&|\*|>|<|\/|\[|\]', ' ', text)
# Regex pattern to match numbers and words containing numbers
text = re.sub(r'\b\w*\d\w*\b', '', text)
# lower the letters
text = text.lower()
# replace sequences of non-word characters ('\W+') with a single space.
# The 'strip()' removes any leading or tailing whitespaces that could come from the substitution.
text = re.sub(r'\W+', ' ', text).strip()
return text
text = clean(full_text)
text[:3000]
'travels through d e n m a b k and part of s w e d e n during the winter and spring of the year i containing f é authentic particulars of the domestic condition of those countries the opinions of the inha bitants and the state of agriculture b y jam es macdonald f london printed for richard ph illips bridge street blackfriars liy b mc miei an bow street covent garden i v ii l v l i j i i t if v r r p o v t h v h x t r v i c v r f v f at v f r i r l v t c v j j z x u v i i advertisement in a letter to the publisher the author of the follow ing pages informs him that his desultory jovirnal was written during a tour in the spring of through some danish and swedish provinces and he cannot but think that its perusal may draw the attention of onr countrymen from the temporary subjects of the moment to such matters as are connected with the permanent interests of the britisk empire he observes that he has not only committed to paper his own opinions but also those of persons with wliom he con versed in the above mcnt ioned eountries u and have done tilis he adds with frankness and impartiality and with the feelings of a man w ho in the hour of misfor tune experienced equally from the enemies and the allies of his country the humanity of christians and the kindncss of friends and who after five different journies through va rious parts of the continent of europe has hcre written without the assistance of a single paper or a single book the observations made on the spot upon wliat he saw and felt during a period peculiarly eventful to the kingdoms to which his journal refers u if my opinions concerning zeeland should appear extra vagant to any one not accustomed to reflect upon the present situation of the northern powcrs i have only to assure him i am by no means singtilar in my opinions but on thecontrary coincide in every point with the most intelli gent british and foreign gentlemen with whoip i havelately had the pleasure of conversing u i have to add as another motivefor publishing whatbh i t i i i i l id s l id i r i i n b i to raany readers may appear uninteresting that tlie treat ment experienced from the danes by myself and my fellow sufferers as well as by the survivors of the crew of his ma jesty s late ship the crescent imposes it upon me as a duty to give all possible publicity to circumstances so honourable to that nation and which may eventually soften the spiritof mutual hostility which at present subsists between the two countries and procure for the danish prisoners in britain as kind a treatment as the circumstances of the times permit i should ill deserve the liberty which their generosity so readily granted me did i not seize the earliest opportu nity of thanking the danish monarch and nation for their kindness towards me and that too in the way wortliy of both namely in the plain language of sincerity and truth the editor bas takep the liberty of altering the monotony of the author s journal by dividing his communications into the mo'
w+ together with \b#
Why does anything happen on sunday, monday or yesterday?
Find words with special endings, e.g. day, can be a help to gain insight into where and when the literature takes place.
The regex pattern \w+day
is used to find sequences of word characters that end with the letter ‘day’.
\b
finds the bounderies of where letters starts or ends.
You can also use the endings to find grammatical forms, e.g. words with a special suffix like ‘-ly’ would be relatively easy to identify. Try it.
ending = re.findall(r'\w+day\b', text)
print(ending)
['sunday', 'monday', 'yesterday', 'yesterday', 'terday', 'yesterday', 'yesterday', 'yesterday', 'yesterday']
More metacharacters, as well as pipes, lists and question marks#
In literature, comparisons are often used to illustrate points more clearly by putting pictures on what you want to describe. Comparisons also contribute to making the text more lively and interesting.
But regex makes it a manageable task to retrieve examples of comparisons, because we can find text strings that follow the pattern in a typical comparison.
We can illustrate it in the following way. We look for phrases whose pattern is either as a … or as an ….
There are two different ways.
First way is to use pipe |
. Pipe means “or”. The regex pattern will then look like this: 'as\sa\s\w+|as\san\s\w+'
Another way is to use the list character []
? It looks like this: 'as\sa[n]?\s\w+'
.
In the list, letters can be added that can stand in that place in the word. The question mark indicates that the letter may or may not be there.
comparison = re.findall(r'as\sa\s\w+', text)
print (comparison)
['as a duty', 'as a decoy', 'as a short', 'as a sensible', 'as a considerable', 'as a spy', 'as a guard', 'as a stranger', 'as a german', 'as a troop', 'as a prison', 'as a guard', 'as a boat', 'as a midshipman', 'as a one', 'as a matter', 'as a real', 'as a coward', 'as a proof', 'as a real', 'as a prisoaeria', 'as a very', 'as a bitter', 'as a long', 'as a v', 'as a knowledge', 'as a matter', 'as a biessing', 'as a dead', 'as a military', 'as a peculiar', 'as a good', 'as a bad']
comparison = re.findall(r'as\sa\s\w+|as\san\s\w+', text)
print (comparison)
['as a duty', 'as a decoy', 'as an arduous', 'as a short', 'as a sensible', 'as a considerable', 'as a spy', 'as a guard', 'as a stranger', 'as a german', 'as a troop', 'as a prison', 'as a guard', 'as a boat', 'as a midshipman', 'as a one', 'as a matter', 'as an odious', 'as a real', 'as a coward', 'as a proof', 'as an arrow', 'as a real', 'as a prisoaeria', 'as a very', 'as a bitter', 'as a long', 'as a v', 'as a knowledge', 'as an abundance', 'as a matter', 'as an university', 'as a biessing', 'as a dead', 'as a military', 'as an inde', 'as a peculiar', 'as a good', 'as a bad']
comparison = re.findall(r'as\sa[n]?\s\w+', text)
print (comparison)
['as a duty', 'as a decoy', 'as an arduous', 'as a short', 'as a sensible', 'as a considerable', 'as a spy', 'as a guard', 'as a stranger', 'as a german', 'as a troop', 'as a prison', 'as a guard', 'as a boat', 'as a midshipman', 'as a one', 'as a matter', 'as an odious', 'as a real', 'as a coward', 'as a proof', 'as an arrow', 'as a real', 'as a prisoaeria', 'as a very', 'as a bitter', 'as a long', 'as a v', 'as a knowledge', 'as an abundance', 'as a matter', 'as an university', 'as a biessing', 'as a dead', 'as a military', 'as an inde', 'as a peculiar', 'as a good', 'as a bad']
Curly brackets for a concordance tool#
We’re going to try using curly brackets in our RegEx, and we’ll try it out in a concrete example of how curly brackets can be used to build a concordance tool. A concordance tool is used to extract text snippets based on keywords and a range.
We will find snippets containing the keyword eye. It is a concrete example of how we can point down in the text and see how the term is used exactly. In horror novels, I would imagine that words like eyes is playing a special role.
For the task we would also need the full stop sign( .
), because it returns any word characters and the curly brackets like this: {30}.
It checks that we get 30 word characters.
concordance_tool = re.findall(r'.{30}\beye[s]?\b.{30}', text)
concordance_tool
['trict around us as far as the eye could reach on a clear day th',
' him and the expression of my eyes and features were a complete ',
'see them drowned before their eyes some of the stoutest and who ',
'nd however is a relief to the eye on a broad passage and though',
' spread like a map under your eyes the isle of amak which is the',
'n the island of saltholm your eye follows the swedish coast for',
' forfarshire dialect and with eyes sparkling with pleasure for i',
'ack and very seldoni red long eye lashes beauti fully arched ey']
Square brackets [A-Z]#
Find words that begins with capital letters.
upper_case_words = re.findall(r'[A-Z]\w+', full_text)
upper_case_words = [i for i in upper_case_words if i.lower() not in full_text]
print (set(upper_case_words))
{'Gospel', 'Scavv', 'Englishman', 'Crescent', 'Mayficld', 'Jodgc', 'Englisil', 'Kent', 'Frederik', 'Swedisl', 'Ileaveu', 'Gade', 'Salzburgh', 'Copen', 'Welsh', 'Heyne', 'Svvedcs', 'Blote', 'Frenchmen', 'Amongothers', 'BLACKFRIARS', 'Virgil', 'Canada', 'Spanisk', 'Gothenlurgh', 'Stuarts', 'Biisching', 'Frussian', 'Elsinore', 'January', 'Saxon', 'Copenhngen', 'Bardcnfleth', 'Demnark', 'God', 'Fanen', 'Gerinan', 'Catteau', 'Odensee', 'BH', 'NORWEGIANS', 'Oresund', 'Johns', 'Bardenfleth', 'Ilolstein', 'S7', 'Spain', 'Wellesley', 'Highlanders', 'Tbey', 'Scotlnnd', 'Jpoor', 'Folkets', 'CHARACTERISTICS', 'Dancs', 'Uvays', 'Cicero', 'Engaged', 'Cattegat', 'Northum', 'Scarcelv', 'Judånders', 'Karna', 'German', 'Crossing', 'DENMARK', 'Prussia', 'Sweden', 'Capital', 'Lonstrup', 'Arthur', 'Banish', 'Brazil', 'Irerne', 'Roskilde', 'RELIGION', 'Forfarshire', 'Evangelists', 'ItTS', 'Amalien', 'Kongens', 'Jtw', 'Saleraonis', 'Sciences', 'Editor', 'Falken', 'Aarhusto', 'Reaumur', 'Aboul', 'Jews', 'Mauy', 'Hirschholm', 'Dryer', 'Lunger', 'SWEDISIi', 'Danskes', 'Halmstadt', 'Nijborg', 'Humboldt', 'EDEM', 'Merino', 'Jeremin', 'Wcrc', 'Bardenfletb', 'Saltholm', 'Irish', 'Unlcss', 'Middelfa', 'SWEDENV', 'Norway', 'Iaw', 'Homer', 'Ihrovvn', 'RICHARD', 'Thespecies', 'Denmavk', 'Norvvegians', 'Europc', 'CRONBOItG', 'Greenwich', 'Altona', 'Lancnshire', 'Aalborgers', 'Ramlbsa', 'Communications', 'James', 'India', 'IucIi', 'Uvcen', 'Jesus', 'Bertuch', 'JAM', 'Theresources', 'Spanisb', 'Middelfahrt', 'DENSfARK', 'Englisli', 'Ifyou', 'Southern', 'Whor', 'Norvvay', 'Julland', 'Danica', 'Riark', 'American', 'I80p', 'Aenf', 'Suhm', 'Lappens', 'Aarhus', 'Prussian', 'English', 'TUMULT', 'Butter', 'Tuiew', 'Sabbath', 'Elsinorc', 'Scottish', 'European', 'Sleswig', 'Avards', 'Avhere', 'Angus', 'Nonvegian', 'Josay', 'Thames', 'Copenhagen', 'Westenholz', 'Otia', 'Cronborg', 'OENMARR', 'Banffshire', 'Balfic', 'Highlands', 'J8O', 'Scotchman', 'Monday', 'Skagen', 'Caltcgat', 'Dauish', 'Jiatred', 'Corsber', 'Swcden', 'S09', 'ACDOXALD', 'Iieavy', 'Jutlanders', 'Sundays', 'Osterbrandersler', 'Schleswig', 'Zeeland', 'Norweginns', 'Essex', 'ADVERTISEMENT', 'Britisk', 'Danisb', 'Hamlet', 'Jutlaud', 'Funen', 'Cormvall', 'Horsens', 'Kuttner', 'Frauce', 'Ljttle', 'Fladstrand', 'Scolch', 'Powcrs', 'Europe', 'Somé', 'S08', 'Eisinore', 'Avliich', 'Indånders', 'Gertnany', 'France', 'Tiumbers', 'Russians', 'December', 'Crescentand', 'America', 'Nijlorg', 'Holsfeiners', 'ENGELHOLM', 'Publisher', 'AVestenholz', 'Turkey', 'Dentnark', 'Britain', 'Elsineur', 'Ringstad', 'DANES', 'Tunen', 'Arhoos', 'Ringsted', 'Droch', 'Getmanv', 'Dorsetshire', 'Thine', 'Germans', 'Jutland', 'Grecian', 'Norwegian', 'Tranquebar', 'Lulherans', 'Westenbolz', 'WINTEIt', 'Christiansburg', 'Engtisli', 'Malmoe', 'Norwegians', 'ELSINOItE', 'Dauislr', 'Scaw', 'Zee', 'Hebrides', 'Kongs', 'Yorkshire', 'Leipzig', 'Sonic', 'Briton', 'Christian', 'Scolland', 'Theshock', 'Samsde', 'COVENT', 'Switzerland', 'Griesbach', 'Norfolk', 'Hivated', 'Officiis', 'JSighl', 'Jannary', 'Warberg', 'Sieswig', 'Jullaud', 'LONDON', 'Greeks', 'Weirnar', 'Middlesex', 'Whoever', 'Patients', 'Soou', 'Hungary', 'Yætelorgh', 'HOBROE', 'Falster', 'Italian', 'I8O9', 'Swedes', 'Foulises', 'Hutton', 'AKK', 'Theshore', 'Buonaparte', 'Swedisb', 'Langeland', 'London', 'April', 'Moen', 'Henne', 'Kioge', 'Spaniards', 'Nyelorg', 'Buehan', 'Trojans', 'Svvedish', 'Gothenburg', 'Corinthian', 'Gailic', 'Sæbye', 'Windows', 'Bntch', 'Arundo', 'Jike', 'Spanish', 'British', 'Brilish', 'Tntland', 'HENMARK', 'Laholm', 'Ogilvy', 'Brandenbnrgher', 'Iecland', 'Cullen', 'Fahrenheit', 'Swedcs', 'Hberal', 'VCDONALD', 'Romana', 'Hamburgh', 'AUTHENTIC', 'November', 'Grundsteuen', 'Tycho', 'Sprogoe', 'Naze', 'England', 'Greek', 'Danisli', 'Moldenhawor', 'Sourid', 'Botany', 'Thecxertion', 'Westphalia', 'Ilaly', 'Rmean', 'CQtland', 'Suffolk', 'Littie', 'Sietly', 'Hobre', 'Feeyn', 'Covent', 'Ireland', 'MACDONALD', 'Bodoni', 'Temple', 'Denraark', 'Euglish', 'Copenhageu', 'Greece', 'Borgere', 'Brahe', 'Litet', 'Sprbe', 'Germany', 'TUAVELS', 'Leith', 'Denmark', 'Frederick', 'Jut', 'Ordnance', 'Baggesen', 'Engelholm', 'Tostand', 'Baskerville', 'Dondon', 'Juttish', 'Spahiards', 'Chinese', 'Composts', 'Continental', 'Drackenberg', 'Eoglishman', 'Ihey', 'Xenophon', 'Banflshire', 'Flcmish', 'Slagelse', 'Dåne', 'Danes', 'ILLIPS', 'Landscrona', 'Scotcli', 'Qih', 'Meanwhile', 'Avortby', 'Bonpland', 'Lessoe', 'Christmas', 'Baskervilles', 'Christians', 'Banes', 'Keates', 'Bralrc', 'Elsiqore', 'JUTLANRERS', 'Stdhce', 'Jovirnal', 'Lanca', 'Yarmouth', 'Swedish', 'Iltese', 'October', 'Snoghoj', 'Nyhurg', 'Callundborg', 'Flora', 'Englisb', 'Thaarup', 'Goschen', 'Odense', 'DENM', 'Almighty', 'Austria', 'Duntzvelt', 'Laaland', 'Orandt', 'Belts', 'Argyleshire', 'Skanderborg', 'Sprde', 'Avindows', 'Iceland', 'Faroe', 'Norskes', 'Plantations', 'CtJLATIONS', 'Blackwood', 'Fiinen', 'JiLin', 'Danisii', 'Hobroe', 'Amak', 'Jlussia', 'Scot', 'Baltic', 'Scotch', 'Wenta', 'Cairo', 'Konge', 'MIEI', 'Brun', 'Frpnch', 'Copcnlingcn', 'NAUTICAL', 'Palais', 'Grceks', 'Klopstock', 'Hween', 'Corsoer', 'Gothenburgh', 'Britisb', 'THllOUGH', 'Crcscent', 'Champagne', 'Liimfiord', 'Troad', 'Goltonburgh', 'Sunday', 'Scotland', 'Aalborg', 'Viborg', 'Utility', 'Kutton', 'Thcse', 'SWEDEN', 'Dutcli', 'John', 'Euro', 'Syvende', 'MACJJONALD', 'Helsingborg', 'Holstein', 'Jul', 'Britaiu', 'September', 'ISweden', 'Ruris', 'Sivedes'}
Fuzzy searches in ocr text#
Regex can also be used for performing a fuzzy search on OCR processed text. Let’s try to locate instances of the word “danish” or “danili” within the text, allowing for slight variations or errors that might occur during OCR processing.
.{30}
: Matching any 30 characters before and after the target word, providing context around the match.
danis[h|li]?
: Looking for the word “danish” or “danili”, where:
danis
is the fixed part of the word.
[h|li]?
allows for either “h” or “li” to follow “danis”, accommodating potential OCR errors or variations.
fuzzy_search = re.findall(r'.{30}danis[h|li]?.{30}', text)
fuzzy_search
['in the spring of through some danish and swedish provinces and he ',
'countries and procure for the danish prisoners in britain as kind ',
' opportu nity of thanking the danish monarch and nation for their ',
'mber f o n f in e d here in a danisli prison i have abundance of t',
'be plundered the moment their danish enemies could ap proach the s',
' a lifeless con dition by the danish boatmen but was soon restored',
'leaned and at the rate of one danish mile per hour they devise man',
'ore where in the space of one danisli or four english milesand thr',
'of the sailors and one of the danish soldiers were much bruised by',
'e and lieutenant henne of the danish navy treated me with all poss',
't any ceremony six masters of danish pri vateers half drunk togeth',
'en and brought in bertfby thc danish pri vateers there are twenty ',
'e language commonly spoken is danish but the peoplc ot rank and ed',
'jackets of their own and some danish jackets or great coats lent t',
'asts of norway sweden and the danish dominions the frost has set i',
'defained hero waiting for his danish ma iesty s answer to my repre',
' the bravery and power of the danisli nation and is sometirnes abs',
'eir own i must however do the danish offi cers liere the justfee t',
'ous journey and also save his danish majesty and myself tlie troub',
's are so infinitely below the danish carts and implements s i brit',
'eet and keep to ourselves the danish ships and property which have',
'l run of officers both in the danisb array and navy and especiall',
'oney of jutland is the common danish currency universal over the p',
'e jutlanrers the value of the danish dollar in was four shillings ',
'ge called hobre six and a halfdanish or about tliirty and one thir',
' and frozen indifference of a danish landlady in a country village',
'ery thing doneon board by the danish sailors was u slow clumsy and',
'and agricultural model of the danish states rests merely upon its ',
' to travel at the rate of one danisii mile per hour i f he fail in',
'h money in tomb stonos as the danisb tbe cburches are all iull of',
'language fban eornmen peasant danisli in fbis predicament i as usu',
'y understood all my vants her danisli and my german mixed witb dan',
'ommon in fiinen as in all the danish isles oak and eltier as well ',
' march immediately two mortal danish miles to a place called slage',
'ner travelling in winter over danish ferrics ought to be well supp',
'ionary pru dence ofenglish or danish sailors alas after dining on ',
'the prospect of any more long danish ferries that the sooncr we we',
'll when you tell them that we danish women have female hearts like',
' slagelse like almost all the danish villages havelately soen sulf',
'ection on the morality of the danish people and still less on the ',
's through densfark and m of a danish mile all tke way from corsoer',
'been the burial placø o f the danish royal fainily i conclude the ',
'ac count of the state of tlie danish capital letter x i i elsinore',
't impor tant division of tlie danish monaichy it contains the me t',
't possession of that queen of danisli isles the fertile and beauti',
' of magnificence becoming the danish capital and monarchy i had th',
' figures the bibleused by the danish missionaries at tranquebar in',
'etwixt tliat language and the danish tbey k v r v ih i ri v t f i ',
'actice of child murder in the danish metropolis it would require a',
'tragedies and comedies in the danish tc ngue i liad such vågne and',
' sweden i other in dondon the danish ship would be found nearly on',
'ng conversation to day with a danish gentle man uponthe expediency',
'l er the question between the danish gentleman and myself i concei',
't of the present state of the danish monarchy to assert that its r',
'e abolition of slavery in the danish colonies much of the public f',
'e of long continuance let the danish government return to its old ',
'by theactive aid of six stout danish seamen the distance is only t',
'iest blockhead traversing the danish provinces must learn if he kn',
'houses is more wealthy on the danish side i feel however more plea',
'in travelling the swedish and danish dollar were formerly of the s',
' nearly so but at present the danish rix dollar is only worth two ',
'valued at three shillings the danish dollar consists oi forty eigh',
'ivers or ninety six skillings danish the swedish of forty eight sk',
'rough the greater part of the danish dominions agriculture excepti']