有关标注(记)表达式的更多信息 (copied)

前端之家收集整理的这篇文章主要介绍了有关标注(记)表达式的更多信息 (copied)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转自:http://support.esrichina-bj.cn/2006/0804/1192.html


Howto:利用“标注表达式”将字符串转为正确大小写

文章编号: 31542

软件: ArcGIS-ArcEditor8.3,9.0,9.1,9.2,9.3,9.3.1ArcGIS-ArcInfo9.0,8.3,9.3.1ArcGIS-ArcView8.3,9.3.1

操作系统: Windows 2000,XP,2003Server


摘要

说明文件介绍了如何利用“标注表达式”将大写、小写或两者混合的字符串转为正确的格式。例如,如果一个字符串是以下格式:

"hello world"
"HELLO WORLD"
"hELLO wORLD"

利用“标注表达式”可以将其统一转换为"Hello World"。

内容

在ArcMap的“字段计算器”中,可以使用VBA表达式中的StrConv将字符串转为正确格式。然而,默认的标注表达式解析器VBScript没有这个功能。以下标注表达式解决了VB脚本存在的限制:

1. 打开“标注表达式”对话框。

A. 右键点击ArcMap内容列表中的图层,选择“属性”,显示“图层属性”对话框。
B. 选择“标注”标签
C. 点击“标注字段”右边的“表达式”按钮。

2. 点击“高级”按钮。

3. 当只转换一个字段时,可以用以下代码。记得将两处字段名[MyFieldName]改为实际字段名。

Function FindLabel ([MyFieldName])
FindLabel = PCase([MyFieldName])
End Function
Function PCase(strInput)
Dim iPosition
Dim iSpace
Dim strOutput
iPosition = 1
Do While InStr(iPosition,strInput," ",1) <> 0
iSpace = InStr(iPosition,1)
strOutput = strOutput & UCase(Mid(strInput,iPosition,1))
strOutput = strOutput & LCase(Mid(strInput,iPosition + 1,iSpace - iPosition))
iPosition = iSpace + 1
Loop
strOutput = strOutput & UCase(Mid(strInput,iPosition + 1))
PCase = strOutput
End Function


4. 当一次转换多个字段时,可以用以下代码。记得改字段名,需要的话可以增加更多字段。

Function FindLabel ([MyFieldName1],[MyFieldName2],[MyFieldName3])
FindLabel = PCase([MyFieldName1] & " " & [MyFieldName2] & " " & [MyFieldName3])
End Function

Function PCase(strInput)
Dim iPosition
Dim iSpace
Dim strOutput
iPosition = 1
Do While InStr(iPosition,1) <> 0
iSpace = InStr(iPosition,1)
strOutput = strOutput & UCase(Mid(strInput,1))
strOutput = strOutput & LCase(Mid(strInput,iSpace - iPosition))
iPosition = iSpace + 1
Loop
strOutput = strOutput & UCase(Mid(strInput,iPosition + 1))
PCase = strOutput
End Function



5. 点击“标注表达式”对话框的确定。
6. 确保“图层属性”的“标注”标签中“标注此图层中的要素”已勾选。
7. 点击“标注”标签中的确定。


创建时间:2006-08-04

最近更新: 2011-05-03

猜你在找的正则表达式相关文章