返回介绍

StringReplace

发布于 2020-11-08 02:38:03 字数 2885 浏览 1064 评论 0 收藏 0

用新字符串替换指定的子字符串。

StringReplace, OutputVar, InputVar, SearchText [, ReplaceText, ReplaceAll?]

参数

OutputVar

用来存储替换后的新字符串的变量名.

InputVar

需要被读取内容的变量名. 不要把名称括在百分号中, 除非您希望使用变量的 内容 作为被解析的变量名.

SearchText

要搜索的字符串. 如果没有启用 StringCaseSense, 那么匹配过程不区分大小写.

ReplaceText

用来替换 SearchText 的文本. 如果省略或为空, 那么 SearchText 会被替换为空. 换句话说, 它会被从 OutputVar 删除.

ReplaceAll?

如果省略, 那么只替换 SearchText 的首个匹配如果此参数为 1, A 或 All, 那么替换所有匹配.

指定单词 UseErrorLevel 可以把替换的次数保存到 ErrorLevel (没有则为 0). UseErrorLevel 包含了 "All" 的作用.

ErrorLevel

最后一个参数为 UseErrorLevel 时, ErrorLevel 中会保存替换的次数 (没有则为 0). 否则,如果在 InputVar 中没有找到 SearchText 则 ErrorLevel 被置为 1,找到则置为 0。

备注

在这个及其他所有命令中,OutputVarInputVar 中可以使用相同的变量。

内置变量 %A_Space%%A_Tab% 分别包含了单个空格和单个 tab 字符. 当您需要搜索单独的空格或 tab 或在 SearchText 的开始或末尾含有空格或 tab 时, 这很有用.

在 v1.0.45, 为了改善性能和内存的利用率, AllSlow 选项已经作废. 尽管仍可以指定它, 但不会有效果.

相关

RegExReplace(), IfInString, StringCaseSense, StringLeft, StringRight, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringGetPos, if var is type

示例

; 移除剪贴板中所有的 CR+LF:
StringReplace, clipboard, clipboard, `r`n, , All

; 用加号替换所有空格:
StringReplace, NewStr, OldStr, %A_SPACE%, +, All

; 移除变量中所有空行:
Loop
{
    StringReplace, MyString, MyString, `r`n`r`n, `r`n, UseErrorLevel
    if ErrorLevel = 0  ; 不需要再进行替换.
        break
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文