有像
这样的字符串$s1 = "Elegan-71";
$s2 = "DganSD-171";
$s2 = "SD-1";
从“ - ”中删除所有字符的最佳方式是什么,如
$cleans1 = "Elegan";
$cleans2 = "DganSD";
$cleans2 = "SD";
有substr($s1, "-",4);
substr(string $string, int $start, int[optional] $length=null);
但是如何判断它应该删除所有数字以及如何知道数字大小,因为它们是可变的?
答案 0 :(得分:2)
list($cleans1) = explode("-",$s1,2);
答案 1 :(得分:1)
$s1 = "Elegan-71";
if (strrpos($s1, '-')){
$cleans1 = substr($s1, 0, strrpos($s1, '-'));
}else{
$cleans1 = $s1;
}
这应该可以解决问题。
答案 2 :(得分:1)
这将做你想要的:
<?php
$my_string = "happy-123";
$hyphen_position = strrpos($my_string, '-');
$fixed_string = substr($my_string, 0, $hyphen_position);
echo $fixed_string;
?>
答案 3 :(得分:1)
假设您正在单独清理每个字符串,并且您不希望最终没有数组或列表,并且每个字符串都以该模式(短划线和数字)结束,这应该可以解决问题:< / p>
$cleans1 = preg_replace('/-\d+$/', '', $s1);
答案 4 :(得分:1)
ststr也可以做到。
$s1 = "Elegan-71";
$clean = strstr($s1, '-', true);
echo $clean;
答案 5 :(得分:1)