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".

marked as duplicate by ahmadhanb, Jochen Schwarze, Ian Turton Sep 27 '18 at 12:19

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • For your example, you could try the expression in the Label with textbox: regexp_replace("fieldName",'Regis ', 'Regis\n') – Joseph Sep 27 '18 at 11:35
  • I can't seem to find the "Label with" option that you mention in the QGIS label controls of the polygon dataset, when going in via Properties -> Label -> – Derek Sep 27 '18 at 13:48
  • It's the property where you select which field you want to label. Instead of typing the name of the field, you can use an expression. – Joseph Sep 27 '18 at 14:04
  • Thanks, but what about the names of the other 30 or 40 odd polygons, as they all have different names for each. I suppose Ideally I'm need a way to have full control over labels associated with the polygons that are fully editable - in ArcGIS I would create an annotation layer and then be able to edit the labels which would be "locked" to the map. – Derek Sep 27 '18 at 14:38

Browse other questions tagged or ask your own question.