如何在NSIS中拆分字符串

时间:2014-11-27 06:18:12

标签: nsis

字符串“jdbc:postgresql:// localhost:5432 / DatabaseName”

我的要求是只从上面的字符串中获取 DatabaseName

我尝试过以下链接但是没有用。

${Explode} $0 "jdbc:postgresql://localhost:5432/" "$v1" 

它给错误无效命令。

http://nsis.sourceforge.net/Explode

NSIS语言的可行性如何。因为我不太熟悉NSIS语言。 请做必要的帮助。提前谢谢。

3 个答案:

答案 0 :(得分:3)

如果只需要在最后/之后获取其余字符串,则可以使用一些基本的NSIS字符串处理:

Section

StrCpy $0 "jdbc:postgresql://localhost:5432/DatabaseName"
StrCpy $1 0
loop:
    IntOp $1 $1 - 1
    StrCpy $2 $0 1 $1
    StrCmp $2 '/' found
    StrCmp $2 '' stop loop
found:
    IntOp $1 $1 + 1
stop:
StrCpy $2 $0 "" $1
DetailPrint "|$2|"

SectionEnd

答案 1 :(得分:1)

WordFind功能可以让你这样做,看看它的例子

答案 2 :(得分:0)

你应该试试NSISpcre plugin,也许你需要一些讨厌的正则表达式:p