例如我的字符串是这样的:
$str = "aaababca";
我希望得到一个子字符串,当它到达 b 时会停止,所以我会得到
aaa
我该怎么做?
答案 0 :(得分:2)
如果您知道"b"
是不同的角色,那么您有一个非常简单的解决方案:
$substring = strstr($str, "b", true);
否则,您可以遍历字符串,直到找到与第一个字符不同的字符:
$len = strlen($str);
$substring = $str[0];
$i = 1;
while($i < $len && $str[$i] == $str[0]){
$substring .= $str[$i];
$i++;
}
使用较少的代码行,正则表达式可以完全相同:
preg_match("/^([[:print:]])\\1+/", $str, $mat);
$substring = $mat[0];