假设我有这个字符串:
Hello World Hello My World
我想删除整个字符串中的前3个字符(但只有当单词以' Hel'开头)时才会删除。输出应该是:
lo world lo My World
有人可以为此推荐一个解决方案吗?
答案 0 :(得分:1)
使用preg_replace
函数的简单解决方案:
$str = "Hello World Hello My World";
print_r(preg_replace("/\bHel/", "", $str)); // "lo World lo My World"
条件从每个单词中删除“rld”的附加方法(仅当它出现在单词的末尾时):
print_r(preg_replace("/rld\b/", "", $str)); // Hello Wo Hello My Wo
答案 1 :(得分:1)
您可以使用以下代码:
$str = "Hello World Hello My World";
$arr = explode(" ",$str);
for ($i = 0; $i <count($arr); $i++)
{
if (substr( $arr[$i], 0, 3 ) === "Hel")
{
$arr[$i] = str_replace("Hel","",$arr[$i]);
}
}
$outputstr = implode(" ",$arr);
这样做是因为它将字符串切成不同单词的数组,然后在循环中我用什么都没有替换Hel,所以这将删除Hel并将数据重新插入String ...这将检查如果Hel在开始,然后将取代......
希望这有助于......:)
答案 2 :(得分:0)