PHP字符串中删除包括指定字符在内的所有内容

7
我正在寻找一种非正则表达式的解决方案(如果可能的话),来解决以下问题:
我想从一个字符串中删除包括特定字符串在内的所有内容。
例如,将£10.00 - £20.00转换为£20.00,可以通过将-作为参数提供给函数来实现。
我尝试过strstrltrim,但都不是我想要的。

为什么不使用正则表达式?它是编程中最美妙的事情之一。你可以在很多地方使用它! - Xatenev
3个回答

13

在PHP中,可以使用字符串操作函数来实现此操作。首先,使用strpos()找到字符串中-字符的位置。然后使用substr()获取该字符之前的所有内容(包括该字符)。最后使用trim()去除字符串开头和/或结尾的空格:

echo trim(substr($str, strpos($str, '-') + 1)); // => £20.00

或者,您可以使用 - 作为分隔符将字符串拆分为两部分,并取第二部分:

echo trim(explode('-', $str)[1]);

这可以用许多不同的方式来实现。最终,所有的方法都取决于您的偏好和要求。


0

对于您的示例,这将起作用:

$str="£10.00 - £20.00";
$arr=explode(" - ",$str);
echo $arr[1];

-3
使用 substr()。
$string = "£10.00 - £20.00";
$result = substr($string, -6);
echo $result;

3
这是一个糟糕的答案,它只解决了这个情况 - 如果它是:$string = "£9.00 - £20.00",会发生什么? - ohadsas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接