This question already has an answer here:
In QGIS 3.2, I want to show text labels on a map that are coming from a polygon attribute - easy enough. But I want to have the flexibility to set the wrap text position in a certain space, not just at all spaces - as the text now looks ugly in that layout with a word on each line. Is there any way that can be done? e.g., make the only text wrap after the word "Regis" in this example: "Newtown Regis and Seckington".