我正在尝试在PHP中编写一个函数,该函数查找字符串中的第一个字母,然后返回字符串的其余部分。所以,例如,如果你有一个字符串:
“8932?Test 14 String”
该函数将返回
“Test 14 String”
我写了以下似乎可以完成这项工作的功能:
function removenums($withnums) {
$letters = str_split($withnums);
$position = 0;
foreach($letters as $letter) {
if(preg_match("/[a-zA-Z]/",$letter)) {
break;
}
$position++;
}
$withoutnums = substr($withnums,$position);
return $withoutnums;
}
然而,我只是在学习PHP而且为了教育而且我想知道有经验的人是否会有更好的解决方案。所有回复都表示赞赏。谢谢!
答案 0 :(得分:2)
您只需将strpos
与substr
echo substr($string,strpos($string,'?')+1);
你准备好了
请注意,您应该尽可能避免使用preg_*
函数,因为它们通常比较简单的str*
函数慢
echo preg_replace( '/^[^a-z]+/i','',$string );
答案 1 :(得分:1)
找到字符串中的第一个字母 然后返回余数
function removenums($withnums)
{
return preg_replace('/^[^A-Za-z]+/', '', $withnums);
}
echo removenums('8932? Test 14 String');
// output: Test 14 String