# StrReplace() [v1.1.21+]

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

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

## 参数

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

## 返回值

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

## 备注

内置变量 A_Space 和 A_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
    }

dftg