Skip to content

replace_string

名称

replace_string() - 替换字符串中所有符合条件的内容

语法

string replace_string( string str, string pattern, string replace );
string replace_string( string str, string pattern, string replace, int max );
string replace_string( string str, string pattern, string replace, int first, int last );

描述

replace_string() 返回字符串 `str` 中所有 `pattern` 替换成 `replace` 的新字符串。如果没有可替换的 `pattern` 返回原字符串 `str`。请注意:如果替换后字符串超过系统最大长度会报错。

replace_string() 可以使用 `replace` 为空的字符串来移除字符串 `str` 中的指定字符。如:replace_string("  1  2  3  ", " ", "") 会返回 "123"。

第四和第五个参数为可选参数,其作用如下:

如果只指定第四个参数,为最大替换次数(基数从1开始),如果值为 0 代表替换所有,否则为替换指定次数,如: replace_string("xyxx", "x", "z", 2) 会返回 "zyzx"。

如果指定第五个参数,那么第四个和第五个参数代表替换范围。如果 `first` < 1,代表从头开始全部替换;如果 `last` == 0 或 `last` > 字符串最大长度代表替换到字符串末尾;如果 `first` > `last` 不替换任何内容。如:replace_string("xyxxy", "x", "z", 2, 3) 会返回 "xyzzy"。

参考

sscanf(3), explode(3), strsrch(3)

作者

Zak@TMI-2 wrote the range constraint additions.

翻译

雪风(i@mud.ren)