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_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
}