我正在尝试添加一个新的计算列,该列计算字符串中分号的数量并向其添加一个。所以我的列包含一堆别名,我需要知道每行有多少。
例如,A;乙; C; D
所以基本上这意味着有 4 个别名(3 个分号 + 1)
需要对超过 200 万行执行此操作。请帮忙!
我正在尝试添加一个新的计算列,该列计算字符串中分号的数量并向其添加一个。所以我的列包含一堆别名,我需要知道每行有多少。
例如,A;乙; C; D
所以基本上这意味着有 4 个别名(3 个分号 + 1)
需要对超过 200 万行执行此操作。请帮忙!
;
基本思想是从原始长度中减去不带字符的字符串长度:
len([columnName])-len(Substitute([columnName],";",""))+1
这是一个正则表达式:
Len(RXReplace([Column 1], "(?!;).", "", "gis"))+1
RXReplace
作为参数:
我们将其包装在 aLen
中,这给了我们分号的数量,因为这是剩下的所有内容,最后我们将其加 1 以获得最终结果。
您可以在此处阅读有关正则表达式的更多信息:https ://msdn.microsoft.com/en-us/library/az24scfc(v= vs.110).aspx 但简而言之,它表示匹配所有非半冒号。
您可以在此处阅读有关 RXReplace 和 Len 的更多信息:https ://docs.tibco.com/pub/spotfire/6.0.0-november-2013/userguide-webhelp/ncfe/ncfe_text_functions.htm