FME 字符串处理函数

当使用FME Workbench支持的字符串操作函数时,使用以下准则在字符串输入参数中避免逗号(,)和双引号(“):

如果字符串输入参数包含逗号,则将整个字符串括在双引号中。

例如:@FindString(@Value(_src),"2,3")


如果一个字符串参数输入开始和/或结束在双引号中,包围在双引号中的字符串,并通过前加反斜杠来避免任何其他双引号 (\")。

例如:@FindString(@Value(_src),""He said, \"Wow!\""")。

如果字符串输入参数不以双引号启动和/或结束,但在字符串中的其他地方包含双引号,则不必避免它们。

-------------------------------------------------------------------------------------------------------------------------------

ConvertEncoding(str1,str2,[区分大小写])
对str2 指定的字符串编码为str1所指定的期望结果. 如果str2 为Null,它也会转换为期望的编码形式但是输出结果为Null. 如果caseSensitive为FALSE (默认), 那么str2 的原始(源)编码将不转换;

也就是说,标记为新编码的字符串本身不会有任何改变. 如果caseSensitive为TRUE,那么源字符串将在源编码基础上转换为期望的编码形式.

对于str2的有效编码值的列表, 临时添加等效 AttributeEncoder到工作空间,打开转换器参数对话框,然后在下拉菜单中打开目标编码. 有效值在括号里(例如utf-8)

FindRegEx(str, regExp, [startIdx], [区分大小写], [-1])
返回字符串str 中以与startIdx 匹配的regExp 开头的索引,或未找到字符串时返回-1。若未指定startIdx ,搜索从索引0开始。若为caseSensitive FALSE,搜索不分大小写。否则,搜索分大小写。若指定-1 ,FindRegEx()返回str 从开头到结尾startIdx的str 索引。

等同转换器:StringSearcher

FindString(str, findStr, [startIdx], [区分大小写])
返回字符串str 中以与startIdx 匹配的findStr 开头的索引,或未找到字符串时返回-1。若startIdx 为负整数,FindString()返回str 从结尾开始startIdx的str 字符串索引,匹配findStr ,从后向前(从左至右)。若未指定startIdx ,搜索从索引0开始。若为caseSensitive FALSE,搜索不分大小写。否则,搜索分大小写。

等同转换器:StringSearcher

格式(formatStr, num)
按照%转换说明符formatStr将指定数字num格式化,并返回结果字符串。该函数调用Tcl函数format ,通过在format {formatStr} {num}格式中创建命令字符串来格式化数字。

% 字符必须先于formatStr。例如,从浮点值12345.6789返回字符串12345.68:Format(%.2f,12345.6789)

获取更多指定信息formatStr,登陆http://www.astro.princeton.edu/~rhl/Tcl- Tk_docs/tcl/format.n.html。

FullTitleCase(str)
返回每个单词首字母的字符串,而不是字符串首字母,将其转换为Unicode首字母大写的变量(或在没有首字母变量时转为大写字母),以及其余的字符串小写字母。

若小括号是字符串开头、或在空格后时,该函数忽略小括号,并将连字符(-)以空个字符对待。

等同转换器:StringCaseChanger

GetWord(str, wordNum)
返回wordNum中str 单词。若wordNum 为负整数, GetWord()返回wordNum末尾的str单词。若 wordNum无单词,则返回空白字符串。str 单词必须由空格隔开(space, tab, return carriage, 及其他)。

Left(str, n)
返回包含n 字符串最左字符的str。

LowerCase(str)
返回其在str 中的所有字母转换为小写的字符串。

等同转换器:StringCaseChanger

PadLeft(str, n, [char])
返回至少带有n 字符的输入字符串。若输入字符串str 没有n 字符长度,则用前缀填补至指定char长度。若没有指定char ,则应用空格。

等同转换器:StringPadder

PadRight(str, n, [char])
返回至少带有n 字符的输入字符串。若输入字符串str 没有n 字符长度,则用前缀填补至指定char长度。若没有指定char ,则应用空格。

等同转换器:StringPadder

ReplaceRegEx(str, regExp, newStr, [区分大小写])
返回所有字符序列匹配regExp 并替换newStr的字符串。若为caseSensitive FALSE,搜索不分大小写。否则,搜索分大小写。

注意: 如果参数包含逗号或括号,则将参数括在双引号内。例如:@ReplaceRegEx(@Value(string1),"[^\,](.*)",\1)

等同转换器:StringReplacer

ReplaceString(str, oldStr, newStr, [区分大小写])
返回oldStr 中每个str 实例用newStr代替的字符串。若为caseSensitive FALSE,搜索不分大小写。否则,搜索分大小写。

等同转换器:StringReplacer

Right(str, n)
返回包含n 字符串的str最右字符的子字符串。

StringLength(str)
返回输入字符串长度。

等同转换器:StringLengthCalculator

Substring(str, startIdx[, n])
返回以str 开头并包含startIdx 字符的n 子字符串。若startIdx 为负整数,Substring()返回str从后StartIdx 向前的str 子字符串,包括从前到后计数的n字符(从左至右)。若未指定n ,子字符串以startIdx 开头并转到字符串末尾。若startIdx 大于str长度,则返回空白字符串。

TitleCase(str)
返回一个字符串,str 其中第一个字符转换为Unicode“标题大小写”变体(如果没有“标题大小写”变体,则转换为大写),其余字符串为小写。

等同转换器:StringCaseChanger

Trim(str, [chars])
返回一个字符串,其中str 中的字符与chars中的字符匹配,去掉str 中的前导和尾随字符。如果未指定字符,则删除空白(制表符、空格、回车)。

TrimLeft(str, [chars])
返回一个字符串,其中str 中的字符与chars中的字符匹配,去掉str 中的前导字符。若未指定chars ,则删除空白(制表符、空格、回车)。

TrimRight(str, [chars])
返回一个字符串,其中str 中的字符与chars中的字符匹配,去掉str 中的尾随字符。若未指定chars ,则删除空白(制表符、空格、回车)。

UpperCase(str)
返回str 其中的所有字母转换为小写的字符串。

等同转换器:StringCaseChanger

WordCount(str)
返回str中单词数。单词由空格隔开(space, tab, carriage return, 及其他)。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FME 中,可以使用以下步骤将字符编码转换为16进制: 1. 使用“Text File Reader”读取要转换的文本文件。 2. 使用“Text Editor”转换字符编码为所需的格式。 3. 使用“AttributeManager”创建一个新的属性,将转换后的16进制值写入该属性中。 4. 使用“Text File Writer”将处理后的数据写回到文件中。 下面是一个更详细的步骤: 1. 打开 FME Workbench,并创建一个新的工作空间。 2. 从“Reader”部分拖动“Text File Reader”转换器到工作空间中。 3. 在“Text File Reader”转换器的属性中,设置要读取的文件路径和编码格式。 4. 从“Transformers”部分拖动“Text Editor”转换器到工作空间中。 5. 连接“Text File Reader”和“Text Editor”转换器。 6. 在“Text Editor”转换器的属性中,设置输入字符编码格式和输出字符编码格式为16进制。 7. 从“Transformers”部分拖动“AttributeManager”转换器到工作空间中。 8. 连接“Text Editor”和“AttributeManager”转换器。 9. 在“AttributeManager”转换器的属性中,创建一个新的属性,将转换后的16进制值写入该属性中。 10. 从“Writer”部分拖动“Text File Writer”转换器到工作空间中。 11. 连接“AttributeManager”和“Text File Writer”转换器。 12. 在“Text File Writer”转换器的属性中,设置要写入的文件路径和编码格式。 13. 运行工作空间,即可将字符编码转换为16进制并写回到文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值