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

IT *_*her 1 nsis

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

例如,如果最后一个字符是/然后我想删除它.

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

例2:如果$ var是C:\ mypath,那么输出是C:\ mypath

And*_*ers 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
Run Code Online (Sandbox Code Playgroud)