如何替换SSIS中字符串中除最后一个字符之外的所有字符?

How to Replace all occurrence of a character except last in a string in SSIS?

我有这样一个字符串编号:

1.000.000.00

所以我必须删除除最后一个点以外的所有点,它看起来像这样:

1000000.00

此外,如果只有一个点,则应保留它。

示例:

INPUT            |       OUTPUT
-----------------------------------
1.00             |       1.00
1.000.00         |       1000.00

我尝试了什么:

我用这个表达式创建了一个派生列

LEFT([Column],FINDSTRING([Column],".",LEN([Column]) - LEN(REPLACE([Column],".",""))) - 1) 
+ SUBSTRING([Column],FINDSTRING([Column],".",LEN([Column]) - LEN(REPLACE([Column],".",""))) + 1,LEN([Column]))

它保留第一个点而不是最后一个点。

您可以尝试使用 SSIS TOKEN() 和 TOKENCOUNT() 函数。

TOKENCOUNT(column,".") == 4 ? TOKEN(1) + TOKEN(2) + TOKEN(3) + "." + TOKEN(4) : 
( TOKENCOUNT(column,".") == 3 ? TOKEN(1) + TOKEN(2) + "." + TOKEN(3) : 
( TOKENCOUNT(column,".") == 2 ? column : 
( TOKENCOUNT(column,".") == 0 ? column: “"  ) ) )