本文介绍了如何删除“-"之后的字符串中的任何内容?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的字符串示例.

$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 ;)

这篇关于如何删除“-"之后的字符串中的任何内容?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 13:09