Alan Hesaplayıcıda string değiştirme fonksiyonunu nasıl kullanabilirim?


12

Bir öznitelik tablosu içinde 'replace' işlevini kullanarak bir dizeyi diğeriyle değiştirmeye çalışıyorum. Örnek olarak, 'NAME' alanı '(B)' dizesini içeren bir dizi özellik var ve bunu 'County' kelimesiyle değiştirmek istiyorum. 'Mevcut alanı güncelle' onay kutusunu seçiyorum ve aşağıdaki ifadeyi kullanıyorum

 replace( '(B)','(B)','County')

Sonuçta, 'NAME' alanının başlangıçta '(B)' dizesini içerip içermediğine bakılmaksızın, her özellik için 'NAME' alanı 'County' ile değiştirilir. Herhangi bir yardım mutluluk duyacağız.


GrahamD, gönderi ve şeref için teşekkürler, cevap için teşekkürler. Tamamen aynı zorluğum var. p pan için kısaltılmıştır. Test sütunu olarak_2 yazın. kopyalanan ve yapıştırılan metin İfade kutusu: tüm metin ve alıntıları kırmızı renkle değiştirin ("Type_2", "p", "pan"). ok düğmesi gri renkte çıktı. Çıktı önizleme: ifade geçersiz Ayrıştırıcı Hatası: (ayrıntılı bir şey yok) Eval Hatası: 'p' sütunu bulunamadı Tür_2 ve p'yi değiştirmem gerekirse aynı sonuçları alıyorum. daha fazla öneri minnetle takdir edilecektir. Teşekkür ederim
VeM

Yanıtlar:


23
replace( '(B)','(B)','County')

QGIS'e '(B)' deki '(B)' yerine 'Ülke' yazmasını söyler.

İstediğiniz

replace("Name",'(B)','Country')

= "Ad" içindeki "(B)" yerine "Ülke" yazın.

Not çift tırnak bir alan adı belirtmek ederken tek tırnak statik dize bakın . Bunlar birbirinin yerine kullanılamaz.


@GrahamD, sorununuzu
çözerse

7

Doğru sözdizimi değiştirilir ([alan_adı], '(B)', 'Ülke')


3

İlk olarak, alan hesap makinesini açın resim açıklamasını buraya girinve aşağıdaki resimdeki gibi dize işleminden değiştirme işlevini seçin :

İkinci olarak, QGIS'e değiştirmenin yerini almasını söyler ("Alan Adı", '(B)', "Ülke"). Örneğin bu durumda; değiştirin ("MES_TIP", 'T', 'Rock'):

Üçüncü olarak, lütfen çıktı alanı türünü seçin: text (string) ve ardından alan adını belirleyin;resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.