If you want to break a specific word, then the answers given will work - insert an invisible break of some kind. It does, as pointed out, harm search results, but not so bad as you'd think.
If you want to break all compound terms that need wrapping, without manually going through and checking, then there is no way to do this, because you need context-sensitive English language parsing, which means you need a human brain doing it.
Consider how you would break the following strings:
lowrateslender.com
musictoyourears.com
heresearch.com
nakedsnow.com
picturespain.com
catspaying.net
attackshoes.com
williamsharp.net
andreward.net
goalsnow.net
hesstruck.net
artistrap.com
buildingskill.com
bearspray.com
atticsweep.com
matthewhale.com
singershaven.com
shoesworn.com
sinuscatscan.com
cometart.com
monkeyslap.com
scriptshack.com
nasalbum.com
moviesick.com
arizonasparesort.com
privateshot.com
nationsprinting.com
importcarshow.com
(copy-pasted from a google search for "ambiguous domain names")
...even given a dictionary to identify whole words within these terms, and inserting breaking spaces at those boundaries, it'd be a toss-up whether you would split these words as, say, "import-car-show" or "import-cars-how".
One of the main skills for programming is identifying algorithms which require natural language processing, and opting just for a "good enough" algorithm rather than wasting time on it. This is one such case.