本文介绍了如何删除“-"之后的字符串中的任何内容?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的字符串示例.
$x = "John Chio - Guy";
$y = "Kelly Chua - Woman";
我需要reg替换的模式.
I need the pattern for the reg replace.
$pattern = ??
$x = preg_replace($pattern, '', $x);
谢谢
推荐答案
无需正则表达式.您可以使用 explode
:
No need for regex. You can use explode
:
$str = array_shift(explode('-', $str));
或 substr
和:
$str = substr($str, 0, strpos($str, '-'));
可能与 trim
结合使用,以删除前导和尾随空格.
Maybe in combination with trim
to remove leading and trailing whitespaces.
更新:正如@Mark所指出的,如果要获取的零件包含-
,则此操作将失败.这完全取决于您的可能输入.
Update: As @Mark points out this will fail if the part you want to get contains a -
. It all depends on your possible input.
因此,假设您要删除最后破折号之后的所有内容,则可以使用 strrpos
,它查找子字符串的最后一次出现:
So assuming you want to remove everything after the last dash, you can use strrpos
, which finds the last occurrence of a substring:
$str = substr($str, 0, strrpos($str, '-'));
所以,您看到的不需要正则表达式;)
So you see, there is no regular expression needed ;)
这篇关于如何删除“-"之后的字符串中的任何内容?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!