我试图基于反斜杠来分隔字符串,我尝试使用令牌功能,但随后意识到“ \”字符是转义字符。有什么方法可以用反斜杠来分隔字符串吗?
这是我的令牌功能当前的外观。
Token(@[User::DynamicFilename],"\", 7)
答案 0 :(得分:4)
首先使用双反斜杠\\
而不是一个\
,并且您应该将TOKEN与TOKEN Count函数一起使用以检索文件名:
TOKEN(@[User::DynamicFilename],"\\", TOKENCOUNT(@[User::DynamicFilename],"\\"))
因此,如果您要从完整文件路径中提取文件名,tokencount将检测到反斜杠的最新发生。示例:
考虑@[User::DynamicFilename]
的值为:
C:\ My Files \ Folder \ file.txt
由于TOKENCOUNT()
将返回3
,因此表达式be将为
TOKEN(@[User::DynamicFilename],"\\",3)
它将返回
File.txt
答案 1 :(得分:1)
您需要将反斜杠的数量加倍。
在您的示例中,应该是
Token(@[User::DynamicFilename],"\\", 7)
答案 2 :(得分:1)
如果您不知道使用令牌的深度,建议您使用以下内容来获得结果。
right(@[User::DynamicFilename],findstring(reverse(@[User::DynamicFilename]),"\\")-1)