首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在NSIS中拆分字符串

如何在NSIS中拆分字符串
EN

Stack Overflow用户
提问于 2014-11-27 06:18:11
回答 3查看 4.3K关注 0票数 4

字符串"jdbc:postgresql://localhost:5432/DatabaseName"

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

我试过在下面的链接,但它没有工作。

代码语言:javascript
运行
复制
${Explode} $0 "jdbc:postgresql://localhost:5432/" "$v1" 

它给出错误无效的命令。

http://nsis.sourceforge.net/Explode

在NSIS语言中是如何可能的。因为我对NSIS语言不太熟悉。请提供必要的帮助。提前谢谢。

EN

Stack Overflow用户

发布于 2014-11-27 18:34:54

如果您只需要在上一次/之后获得其余的字符串,那么只需使用一些基本的NSIS字符串处理:

代码语言:javascript
运行
复制
Section

StrCpy $0 "jdbc:postgresql://localhost:5432/DatabaseName"
StrCpy $1 0
loop:
    IntOp $1 $1 - 1 ; Character offset, from end of string
    StrCpy $2 $0 1 $1 ; Read 1 character into $2, -$1 offset from end
    StrCmp $2 '/' found
    StrCmp $2 '' stop loop ; No more characters or try again
found:
    IntOp $1 $1 + 1 ; Don't include / in extracted string
stop:
StrCpy $2 $0 "" $1 ; We know the length, extract final string part
DetailPrint "|$2|"

SectionEnd
票数 5
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27164243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档