Здесь с регулярным выражением:
Len(RXReplace([Column 1], "(?!;).", "", "gis"))+1
RXReplace
принимает в качестве аргументов:
- Строка, над которой вы хотите работать (в этом случае она находится в столбце 1)
- Регулярное выражение, которое вы хотите использовать (здесь это (?!;).)
- Что вы хотите заменить матчи с (бланковые в этой ситуации так , что все, что соответствует регулярному выражению удаляется)
- Наконец параметр говоря, как вы хотите работать (мы проходим в гис, что означает замену все матчи не только первый, игнорировать случай, заменить новую строку)
мы обернуть это в Len
, который дает нам сумму точки с запятой, так что это все, что осталось, и, наконец, мы добавим к нему 1, чтобы получить окончательные результат.
Вы можете узнать больше о регулярном выражении здесь: https://msdn.microsoft.com/en-us/library/az24scfc(v=vs.110).aspx, но в двух словах он говорит, что соответствует всему, что не является точкой с запятой.
Вы можете прочитать больше о RXReplace и Лен здесь: https://docs.tibco.com/pub/spotfire/6.0.0-november-2013/userguide-webhelp/ncfe/ncfe_text_functions.htm
Может 'split' каждую строку на'; ', а затем сосчитать расколов? – sideroxylon