StrReplace() [v1.1.21+]

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

ReplacedStr := StrReplace(Haystack, Needle , ReplaceText, OutputVarCount, Limit)

参数

Haystack
内容被搜索和替换的字符串.
Needle
要搜索的字符串. 如果没有启用 StringCaseSense, 那么匹配过程不区分大小写.
ReplaceText
如果为空或省略, 那么 Needle 会被替换为空. 这意味着, 它会从返回值中删除. 否则, 请指定用来替换 Needle 的文本.
OutputVarCount
如果省略, 将不会储存对应的值. 否则, 请指定用于存储替换次数的输出变量(没有则为 0).
Limit
如果省略, 默认为 -1, 将替换 所有Haystack 中要替换的内容. 如果为空, 默认为 0. 否则, 请指定允许的最大替换数量. Haystack 最后一个替换对象右边的内容将保持不变.

返回值

函数返回 Haystack 的一个版本, 其内容已经被操作所替换. 如果不需要替换, Haystack 将不会被修改.

备注

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

StringReplace, RegExReplace(), InStr(), StringCaseSense, SubStr(), Trim(), StrLen(), StringLower, StringUpper

示例

移除剪贴板内容中所有的 CR-LF 对.

Clipboard := StrReplace(Clipboard, "`r`n")

用加号替换所有空格.

NewStr := StrReplace(OldStr, A_Space, "+")

移除变量文本中所有空行.

Loop
{
    MyString := StrReplace(MyString, "`r`n`r`n", "`r`n", Count)
    if (Count = 0)  ; 不再需要更多的替换.
        break
}