如何替换以“a”开头并以“z”结尾的字符串?
基本上我希望能够和str_replace做同样的事情,但对'haystack'中两个字符串之间的值无动于衷。
这是否有内置功能?如果没有,我将如何有效地制作完成它的功能?
答案 0 :(得分:1)
可以使用正则表达式(简称RegEx)来完成。 这是一个简单的例子:
$string = 'coolAfrackZInLife';
$replacement = 'Stuff';
$result = preg_replace('/A.*Z/', $replacement, $string);
echo $result;
上面的示例将返回coolStuffInLife
关于Givven RegEx的一点解释 /A.*Z/
:
- 斜杠表示正则表达式的开头和结尾;
- A和Z是您需要替换的起始和结束字符;
- .
匹配任何单个字符
- *
给定角色的零个或多个(在我们的例子中 - 所有角色)
- 您可以选择使用+
代替*
,只有在介于两者之间时才会匹配
查看Rubular.com以了解测试RegEx的简单方法。它还提供简短的RegEx参考
答案 1 :(得分:0)
使用preg_replace,以便您可以使用正则表达式模式。
答案 2 :(得分:0)
$string = "I really want to replace aFGHJKz with booo";
$new_string = preg_replace('/a[a-zA-z]+z/', 'boo', $string);
echo $new_string;
警惕正则表达式,你想找到第一个z还是最后一个z?它只是可以介于两者之间的字母吗?字母数字?在扩展正则表达式之前,您需要解释各种各样的场景。