Réponses:
Oui, vous pouvez.
Utilisez la calculatrice de champ avec l'expression suivante:
left( "Name", strpos( "Name" ,'-'))
La fonction strpos () renvoie la position d'index du premier caractère '-' et la fonction left () "coupe" la chaîne avant cette position.

Vous pouvez utiliser la calculatrice de champs avec l'expression suivante:
string_to_array("Nombre", ' ')
La fonction string_to_array () divise la chaîne en un tableau à l'aide du délimiteur fourni.
Si vous voulez une certaine position du tableau, vous pouvez ajouter la position et elle renverra la valeur. comme ça:
string_to_array("Nombre", ' ')[2]
Solution possible au moyen de PyQGIS.
Supposons qu'il existe une couche de points appelée "some_points"avec sa table d'attributs, voir l'image ci-dessous.
Poursuivez Plugins > Python Console > Show Editoret collez le script ci-dessous
from PyQt5.QtCore import QVariant
layer = iface.activeLayer()
if not layer.isValid():
print("Layer failed to load!")
layer_provider = layer.dataProvider()
layer_provider.addAttributes([QgsField("Test", QVariant.String)])
layer.updateFields()
features=layer.getFeatures()
layer.startEditing()
for f in features:
attrs = {2: f['info'].split('-')[0]}
layer_provider.changeAttributeValues({f.id(): attrs})
layer.commitChanges()
La sortie cherchera
Références:
.split()fonction de python ?