我正在尝试添加一个新的计算列,该列计算字符串中分号的数量并向其中添加一个。所以我列中包含了一堆别名,我需要知道每行有多少个。Spotfire:计算字符串中某个字符的数量
例如, A; B; C; d
因此,基本上,这意味着有4别名(3半个冒号+ 1)
需要超过2万行做到这一点。请帮助!
我正在尝试添加一个新的计算列,该列计算字符串中分号的数量并向其中添加一个。所以我列中包含了一堆别名,我需要知道每行有多少个。Spotfire:计算字符串中某个字符的数量
例如, A; B; C; d
因此,基本上,这意味着有4别名(3半个冒号+ 1)
需要超过2万行做到这一点。请帮助!
基本思路是减去你的字符串的长度,不;
字符从它的原始长度:
len([columnName])-len(Substitute([columnName],";",""))+1
这是一个正则表达式:
Len(RXReplace([Column 1], "(?!;).", "", "gis"))+1
RXReplace
需要作为参数:
我们在Len
这让我们分号的量把这个包,因为这是所有剩下最后我们把它加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
也许'split'上'每一行;'再算上劈叉? – sideroxylon