使用简单模式匹配或正则 (regex) 表达式转换列中的数据。例如,在 State 列中,可将 CA 转换为 California。
下面介绍了一些使用正则 (regex) 表达式转换数据的示例。
在这些示例中,“搜索表达式”显示要在要替换的字符串字段中输入的内容,“替换值”显示要在新字符串字段中输入的内容。
表 4-1 替换转换示例
搜索表达式 | 替换值 | 原始文本 | 替换文本 | 注释 |
---|---|---|---|---|
@([a-z]+)(?=\.[a-z]{3}) |
@example | MichelePFalk@yahoo.com | MichelePFalk@example.com | 此示例替换电子邮件地址中的域详细信息。 |
^Gray|Grey$ |
Silver |
Grey Gray Graystone |
Silver Silver Graystone |
^$ 字符意味着仅查找整个字符串匹配项。竖条是表示 OR 的正则表达式,因此,在此示例中,该正则表达式查找 "Gray" 或 "Grey",并替换为 "Silver"。
字符串 Graystone 不进行转换,因为该正则表达式仅查找整个值匹配项。 |
\d+ |
9999 |
8398 Park Street 123 Oracle Parkway |
9999 Park Street 9999 Oracle Parkway |
此正则表达式的 "\d" 表示查找一个数字,"+" 表示查找多个数字,然后将找到的数字替换为 "9999"。原始文本只含三个数字时,该替换也有效。 |
([A-z]+)(\d+) |
$2 |
UA101654 US829383 |
101654 829383 |
此正则表达式的 "[A-z]" 表示查找一个字母,"+" 表示查找多个连续字母,后接的 "\d" 表示查找一个数字,"+" 表示查找多个数字,这两个部分都用括号括住,这将捕获两个组(第一个组 ([A-z]) 和第二个组 (\d+)),这些组会自动进行编号,然后可以通过对第二个组使用美元符号(例如 "$2")用于替换中。 |
([A-z]+)(\d+) |
Postal Code: $2 |
UA101654 US829383 |
Postal Code: 101654 Postal Code: 829383 |
此示例使用的匹配表达式与上一个示例相同,但除了组外,还显示了如何插入自己的替换文本。可以在重新调用的匹配组之前和之后插入文本。 |