QGIS实战系列之自定义操作函数全角字符转半角字符

背景

在使用qgis 3.x时有时候会做一些数据处理,比如说字符的全角专半角处理,截取一些字符串等等需求,

我这里刚好有一个需要操作全角转半角的需求,qgis里又没有自带的函数,只好自定义一个函数,本篇将会以图文的形式来说一下如何从零创建一个自定义函数,并使用它。

右键打开属性表

QGIS实战系列之自定义操作函数全角字符转半角字符_第1张图片

打开字段计算器

QGIS实战系列之自定义操作函数全角字符转半角字符_第2张图片

打开函数编辑器

QGIS实战系列之自定义操作函数全角字符转半角字符_第3张图片

新加函数

QGIS实战系列之自定义操作函数全角字符转半角字符_第4张图片
函数名字起一个,我这里叫作strQ2B(字符串全角转半角的缩写)

然后把下面的文本内容复制进去

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom')
def strQ2B(ustring, feature, parent):
    """
    全角转半角
    

用法示例:

  • strQ2B("G101") -> G101
"""
ss = "" for s in ustring: rstring = "" for uchar in s: inside_code = ord(uchar) if inside_code == 12288: # 全角空格直接转换 inside_code = 32 elif (inside_code >= 65281 and inside_code <= 65374): # 全角字符(除空格)根据关系转化 inside_code -= 65248 rstring += chr(inside_code) ss += rstring return ss

QGIS实战系列之自定义操作函数全角字符转半角字符_第5张图片
点击保存并载入函数

然后在表达式的标签页中可以看到custom里面有strQ2B自己创建的函数。双击函数
QGIS实战系列之自定义操作函数全角字符转半角字符_第6张图片

在括号里写入字段名字,然后可以看到预览输出

QGIS实战系列之自定义操作函数全角字符转半角字符_第7张图片

好了,这里自定义函数的实战教程就到此结束

你可能感兴趣的:(QGIS,操作实战,做技术的,小笔记)