필드 계산기에서 문자열 바꾸기 기능을 사용하는 방법은 무엇입니까?


12

속성 테이블 내에서 'replace'함수를 사용하여 한 문자열을 다른 문자열로 바꾸려고합니다. 예를 들어, 'NAME'필드에 '(B)'문자열이 포함 된 여러 기능이 있으며이를 'County'라는 단어로 바꾸고 싶습니다. '기존 필드 업데이트'확인란을 선택하고 다음 표현식을 사용하고 있습니다.

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

결과적으로 'NAME'필드에 원래 '(B)'문자열이 포함되어 있는지 여부에 관계없이 모든 기능의 'NAME'필드가 'County'로 바뀝니다. 도움을 주시면 감사하겠습니다.


GrahamD, 게시물에 감사하고 어둡고 답변에 감사드립니다. 나는 똑같은 도전을 가지고 있습니다. p는 팬 (pan)의 약자입니다. 테스트 열로 Type_2를 입력하십시오. 식 상자에서 복사하여 붙여 넣은 텍스트 : replace ( "Type_2", "p", "pan") 모든 텍스트와 따옴표를 빨간색으로 표시합니다. 확인 버튼이 회색으로 표시됩니다. 출력 미리보기 :식이 잘못되었습니다 파서 오류 : (상세 없음) 평가 오류 : 'p'열을 찾을 수 없습니다. Type_2와 p를 바꿔야 정확히 동일한 결과를 얻습니다. 어두워지면 더 이상의 제안을 부탁드립니다. 감사합니다
VeM

답변:


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

QGIS에 '(B)'의 '(B)'를 '국가'로 바꾸라고 지시합니다.

당신이 원하는

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

= "이름"의 '(B)'를 '국가'로 바꾸십시오.

점을 유의 따옴표가 필드 이름을 나타냅니다 그동안 작은 따옴표는 정적 문자열을 참조하십시오 . 이들은 서로 바꿔 쓸 수 없습니다.


@GrahamD 문제를 해결 한 경우 답변을 수락하십시오.
어두움

7

올바른 구문은 replace ([field_name], '(B)', 'Country')입니다.


3

먼저 필드 계산기를 열고 여기에 이미지 설명을 입력하십시오다음 그림과 같이 문자열 위치에서 바꾸기 기능을 선택하십시오 .

둘째, QGIS에 교체 ( "필드 이름", '(B)', '국가')를 교체하도록 지시합니다. 예를 들어이 경우; 바꾸기 ( "MES_TIP", 'T', 'Rock') :

셋째, 출력 필드 유형을 선택하십시오 : text (string) 그리고 필드 이름을 결정하십시오;여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.