替换函数

替换函数将个别字符替换为其他个别字符。

替换操作在各个字符级别而不是在字符串级别完成。将出现的每个字符替换为指定的替换字符,如下例所示:
  • 要被替换的字符的列表等于“abc”
  • 替换字符的列表等于“ABC”
  • 输入字符串等于“aWWWbYYYYcPPPPabc”

结果字符串等于“AWWWBYYYYCPPPPABC”,原因是替换操作在字符级别完成,因此会替换每个字符。(如果替换操作在字符串级别完成,那么结果字符串将等于“aWWWbYYYYcPPPPABC”。)

参数:input

在其中搜索要替换的字符的字符串。该参数的值可以由源节点、其他函数的结果提供,也可以是您指定的值。

参数:fromChars

要被替换的字符的列表。如果需要替换多个字符,应不使用任何分隔方法列出这些字符。该参数的值可以由源节点、其他函数的结果提供,也可以是您指定的值。

参数:toChars

用作替换字符的字符的列表。在该参数中列出替换字符,顺序应与 fromChars 参数中要被替换的字符的顺序相同,原因是 fromChars 参数中的第一个字符将替换为 toChars 参数中的第一个字符,以此类推。有关更多信息,请参阅示例 2。该参数的值可以由源节点、其他函数的结果提供,也可以是您指定的值。
注: 因为 toChars 参数不能等于空字符串(不包含任何字符的字符串),因此您不能将单个字符替换为空字符串。有关变通方法,请参阅示例 3。

返回:string

以下操作的结果:将在第一个参数 (input) 中找到的所有出现的字符 (fromChars) 替换为第三个参数 (toChars) 中的匹配字符。

示例 1

该示例显示简单的一对一字符替换,如下图所示:

运行该函数的运行时结果为以下字符串:

A list of chArActers

所有小写 a 字符替换为大写 A 字符。
注: 在该示例中,输入参数硬编码为特定值。该值通常由映射的源节点提供。

示例 2

在该示例中,fromChars 参数中的第一个字符将替换为 toChars 参数中的第一个字符,fromChars 参数中的第二个字符将替换为 toChars 参数中的第二个字符,以此类推。多字符替换如下图所示:

在该示例中,从电话号码字符串中除去了非数字字符(在 fromChars 参数的末尾指定)。所有数字字符将替换为相同的数字字符;例如,字符 1 替换为 字符 1。在 fromChars 末尾的其他非数字字符在 toChars 中没有指定的替换字符,因此它们将从返回字符串中除去。

运行该函数的运行时结果为以下字符串:

000238882349940
注: 在该示例中,输入参数硬编码为特定值。该值通常由映射的源节点提供。

示例 3

该示例显示的变通方法可解决无法将单个字符替换为空字符串的限制。存在该限制的原因是不能将 toChars 参数设置为空字符串(不包含任何字符的字符串)。您可以通过提供在 input 参数中无法找到的哑元字符(例如,连字符 (-))来解决该限制。例如,您可以为替换函数的参数指定以下值,如下图所示:

在该示例中,输入参数等于“1 2 3”(1、空格、2、空格、3),fromChars 参数等于“- ”(连字符、空格),toChars 参数等于“-”(连字符)。在运行时期间,具有这些值的替换函数会从输入参数中除去空格,运行时结果为以下字符串:

123

注意: 当您在“函数属性”对话框的字段中指定字符串时,不要输入引号。仅输入连字符和空格,不要输入引号字符。
注: 在该示例中,输入参数硬编码为特定值。该值通常由映射的源节点提供。



反馈 | 声明


http://pic.dhe.ibm.com/infocenter/wci/v7r0m0/topic/com.ibm.wci.doc/ref_Replace.html