For example die Wertsachen, I want to find all words which end in die Sache. Other example, nouns ending in -gerät or -dienst?
6 Answers
In case of leo.org you can type e.g. *gerät
or *dienst
to search for certain patterns. Search Tipps is your friend.
-
2
-
Elexiko can do that.
You can also look for a "Rückläufiges Wörterbuch". In such a dictionary, entries are in alphabetical order with regard to their last letters rather than the first ones. So worde that share an ending (rather than a beginning) are grouped together.
In a compound noun (Kompositum), the first part is the Bestimmungswort, the second is the Grundwort. In your example, Wert is the Bestimmungswort. If you want to search using the Grundwort as the criterion, your best bet is Wörterbuchnetz.
In addition to the venerable Deutsches Wörterbuch started by the Brothers Grimm in the 19th century and still being updated, a couple dozen dictionaries ranging from etymological to medieval German will be searched in parallel, with the results tagged according to source dictionary. All the dictionaries are professionally edited, no crowdsourced works among them.
Put an asterisk directly in front of the Grundwort like so:
*sache
and you get hundreds of hits, from Abhandlungssache to Zweckursache. (The latter, however, is a false positive -- Ursache is a different Grundwort from Sache -- so be careful.)
If you can write little programms or scripts, you may take some word lists from Where can I find a parsable list of German words? and write a little parser.
Perhaps different encodings make it a bit difficult.
An example: My answer to Einsamkeit und Zweisamkeit was generated with this ruby script:
#encoding: utf-8
treffer = []
{
'top10000de.txt' => 'r:cp1252:utf-8', #http://wortschatz.uni-leipzig.de/html/wliste.html
'german.0' => 'r:cp1252:utf-8', #Quelle: http://www.htdig.org/files/contrib/wordlists/GermanWordlist.zip
'de-en.txt' => 'r:utf-8', #Quelle: ftp://ftp.tu-chemnitz.de/pub/Local/urz/ding/de-en/de-en.txt
'german.dic' => 'r:cp1252:utf-8', #http://sourceforge.net/projects/germandict/files/
'derewo-v-ww-bll-320000g-2012-12-31-1.0.txt' => 'r:cp1252:utf-8', #http://www.ids-mannheim.de/kl/projekte/methoden/derewo.html
}.each{|filename,mode|
puts "====#{filename}"
File.open(File.join('wordlists', filename), mode){|f|
#~ f.each_line{|word|
f.read.split(/\s+/).each{|word|
#Conversion 'german.0'
word.gsub!(/(\/.*\Z)/, '')
word.gsub!(/A"/, 'Ä')
word.gsub!(/a"/, 'ä')
word.gsub!(/o"/, 'ö')
word.gsub!(/o"/, 'Ö')
word.gsub!(/u"/, 'ü')
word.gsub!(/U"/, 'Ü')
word.gsub!(/sS/, 'ß')
#Get all words ending with "samkeit"
treffer << word if word =~ /samkeit$/
}
}
}
treffer.uniq! #delete duplicates
puts treffer.size
puts treffer.sort.map{|w| "- #{w}"}
If you are on a unixoid system with Aspell you can probably use the following one-liner:
aspell -l de dump master | aspell -l de expand | sed "s/ /\\n/g" | grep "dienst$"
Where dienst is the suffix.
Brief explanation:
aspell -l de dump master
yields the raw data of the German dictionary.aspell -l de expand
expands each entry to all valid words formed formable from that entry (like inflected variants of a word).sed "s/ /\\n/g"
converts the result to a newline-separated list.grep
filters those lines (words), showing only those that havedienst
before the end of the line (denoted by$
).
Wiktionary allows listing its entries in order of their last, next-to-last, etc. letters, thereby providing a reverse dictionary (example: words ending in gerät).