从字符串中删除尾随字符的最佳方法(例如,尾部斜杠)

时间:2013-10-30 13:43:55

标签: nsis

我正在寻找检查和删除变量中尾随字符的最佳方法。

例如,如果最后一个字符是/,那么我想删除它。

Ex1:如果$ var是C:\ mypath \那么我想要输出只有C:\ mypath

Ex2:如果$ var是C:\ mypath,则输出为C:\ mypath

1 个答案:

答案 0 :(得分:6)

Function StripBackslash
Exch $0
Push $1
StrCpy $1 $0 "" -1
StrCmp $1 "\" 0 +2
StrCpy $0 $0 -1
Pop $1
Exch $0
FunctionEnd

Section

Push "c:\some\path\"
Call StripBackslash
Pop $0
DetailPrint |$0|
Push "c:\some\path"
Call StripBackslash
Pop $0
DetailPrint |$0|

;Alternative path validation:
Push $InstDir
StrCpy $InstDir "c:\some\path\"
StrCpy $0 $InstDir
Pop $InstDir
DetailPrint |$0|

SectionEnd
相关问题