StrReplace

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

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

参数

Haystack

类型: 字符串

内容被搜索和替换的字符串.

Needle

类型: 字符串

要搜索的字符串.

ReplaceText

类型: 字符串

如果为空或省略, 那么 Needle 会被替换为空. 这意味着它将在返回值中被省略. 否则, 请指定替换 Needle 的文本.

CaseSense

类型: 字符串整数(布尔值)

如果省略, 则默认为 Off. 否则, 指定下列值之一:

On1(true): 搜索区分大小写.

Off0(false): 搜索不区分大小写, 即字母 A-Z 被视为与其小写字母相同.

Locale: 根据当前用户的区域设置规则, 搜索是不区分大小写的. 例如, 在大多数英语及西欧地区, 不仅将 A-Z 视为等同于它们的小写形式, 同时也将非-ASCII 字母(如 Ä 和 Ü) 视为等同的. 根据被比较字符串的性质, LocaleOff 慢 1 到 8 倍.

&OutputVarCount

类型: VarRef

如果省略, 将不存储相对的值. 否则, 请指定输出变量的引用, 其中储存了要进行替换的数量(没有则为 0).

Limit

类型: 整数

如果省略, 则默认为 -1, 它将替换 Haystack 中找到的 所有 模式. 否则, 请指定允许的最大替换数量. Haystack 最后一个替换对象右边的内容将保持不变.

返回值

类型: 字符串

此函数返回指定字符串的替换版本.

备注

内置变量 A_SpaceA_Tab 分别包含了单个空格和单个制表符. 当在 Needle 的开头或结尾或单独搜索空格和制表符时, 这很有用.

RegExReplace, InStr, SubStr, StrLen, StrLower, StrUpper

示例

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

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

用加号替换所有空格.

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

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

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