回答:
はい、できます。
次の式でフィールド計算機を使用します。
left( "Name", strpos( "Name" ,'-'))
strpos()関数は最初の「-」文字のインデックス位置を返し、left()関数はその位置の前の文字列を「トリム」します。
PyQGISによる可能な解決策。
その"some_points"
属性テーブルで呼び出されるポイントレイヤーがあると仮定します。下の画像を参照してください。
Plugins > Python Console > Show Editor
以下のスクリプトを続行して貼り付けます
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()
出力は見ているでしょう
参照:
.split()
関数を使用できませんでしたか?