Field Calculatorで文字列置換機能を使用する方法は?


12

属性テーブル内で、 'replace'関数を使用して、ある文字列を別の文字列に置き換えようとしています。例として、フィールド「NAME」に文字列「(B)」が含まれている機能がいくつかあり、これを「County」という単語に置き換えたいと考えています。「既存のフィールドを更新する」チェックボックスを選択し、次の式を使用しています

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

最終結果は、フィールド「NAME」に元々ストリング「(B)」が含まれていたかどうかに関係なく、すべての機能のフィールド「NAME」が「County」に置き換えられることです。任意の助けをいただければ幸いです。


GrahamD、投稿とunderdarkに感謝、答えに感謝。私はまったく同じ課題を抱えています。pはパンの略。Type_2をテスト列として。式ボックスからコピーして貼り付けたテキスト:replace( "Type_2"、 "p"、 "pan")すべてのテキストと引用符は赤で表示されます。[OK]ボタンがグレー表示されます。出力プレビュー:式が無効ですパーサーエラー:(詳細なし)評価エラー:列 'p'が見つかりませんType_2とpを入れ替えると、まったく同じ結果が得られます。暗闇の中、さらなる提案はありがたいことに感謝します。ありがとう
-VeM

回答:


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

「(B)」の「(B)」を「Country」に置き換えるようにQGISに指示します。

あなたが欲しい

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

=「名前」の「(B)」を「国」に置き換えます。

二重引用符はフィールド名示し単一引用符は静的な文字列を指すことに注意してください。これらは交換できません。


@GrahamDが問題を解決した場合は回答を受け入れてください
暗闇


3

まず、フィールド計算機を開きここに画像の説明を入力してください、次の図のように文字列オプションから置換関数を選択します。

第二に、置換(「フィールド名」、「(B)」、「国」)を置き換えるようにQGISに指示します。たとえば、この場合; 置換(「MES_TIP」、「T」、「Rock」):

第三に、出力フィールドタイプを選択してください:text(string)そして、フィールド名を決定します;ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.