Is there a way to remove everything before and including the last instance of a certain character?
是否有一种方法可以删除某个字符之前和最后一个实例的所有内容?
I have multiple strings which contain >
, e.g.
我有多个包含>的字符串,例如。
-
the > cat > sat > on > the > mat
> cat >在> >席上>。
-
welcome > home
>欢迎回家
I need the strings to be formatted so they become
我需要对字符串进行格式化
-
mat
垫
-
home
家
1 个解决方案
#1
23
You could use a regular expression...
你可以使用正则表达式……
$str = preg_replace('/^.*>\s*/', '', $str);
CodePad。
...or use explode()
...
…或者使用爆炸()……
$tokens = explode('>', $str);
$str = trim(end($tokens));
CodePad。
...or substr()
...
…或substr()……
$str = trim(substr($str, strrpos($str, '>') + 1));
CodePad。
There are probably many other ways to do it. Keep in mind my examples trim the resulting string. You can always edit my example code if that is not a requirement.
可能还有很多其他的方法。请记住我的示例修饰结果字符串。如果这不是必需的,您可以编辑我的示例代码。
#1
23
You could use a regular expression...
你可以使用正则表达式……
$str = preg_replace('/^.*>\s*/', '', $str);
CodePad。
...or use explode()
...
…或者使用爆炸()……
$tokens = explode('>', $str);
$str = trim(end($tokens));
CodePad。
...or substr()
...
…或substr()……
$str = trim(substr($str, strrpos($str, '>') + 1));
CodePad。
There are probably many other ways to do it. Keep in mind my examples trim the resulting string. You can always edit my example code if that is not a requirement.
可能还有很多其他的方法。请记住我的示例修饰结果字符串。如果这不是必需的,您可以编辑我的示例代码。