php从字符串获取或打印特殊字符、数字、字母seprate seprate
我有一个字符串,比如:php从字符串获取或打印特殊字符、数字、字母seprate seprate,php,Php,我有一个字符串,比如: $str = "hello@$how%&*!are345You^_THere56"; 我希望字母表存储在一个变量中,如: hello,how,are,you,THere 3,4,5,5,6 数字应存储在一个变量中,如: hello,how,are,you,THere 3,4,5,5,6 特殊字符分别为: @$%&*!^_ 我如何才能做到这一点?在我看来,最好的选择是使用: 你可以检查正则表达式匹配 $str = "hello@$how%&
$str = "hello@$how%&*!are345You^_THere56";
我希望字母表存储在一个变量中,如:
hello,how,are,you,THere
3,4,5,5,6
数字应存储在一个变量中,如:
hello,how,are,you,THere
3,4,5,5,6
特殊字符分别为:
@$%&*!^_
我如何才能做到这一点?在我看来,最好的选择是使用:
你可以检查正则表达式匹配
$str = "hello@$how%&*!are345You^_THere56";
for($i=0; $i<strlen($str ); $i++)
if($str[$i] == "^[0-9]*$") {
//store numbers
}
else-if($str[$i] == "^[a-zA-Z]*$") {
// store characters
}
else {
//store special characters
}
$str=“您好,$how%&*!您在吗?”;
对于($i=0;$i试试这个
$strs = '';
$num = '';
$sc = '';
$str = 'hello@$how%&*!are345You^_THere56';
$a = str_split($str);
$prev = '';
foreach($a as $v){
switch($v){
case is_numeric($v):
$num .= $v;
break;
case preg_match('/[a-zA-Z]/',$v):
$sc .= $v;
break;
default:
$strs .= $v;
break;
}
$prev = $v;
}
echo "<p>";
echo "<p>Strings: ".$strs."</p>";
echo "<p>Numbers: ".$num."</p>";
echo "<p>Special Characters: ".$sc."</p>";
$strs='';
$num='';
$sc='';
$str='hello@$how%&*!你在那里吗?';
$a=str\U分割($str);
$prev='';
foreach($a作为$v){
交换机($v){
案例为数字($v):
$num.=$v;
打破
案例预匹配('/[a-zA-Z]/',$v):
$sc.=$v;
打破
违约:
$strs.=$v;
打破
}
$prev=$v;
}
回声“”;
echo“字符串:“.$strs.””;
回显“数字:”.$num.“”;
回显“特殊字符:“.$sc.””;
@PrashantRai如果答案对你有帮助,你应该投赞成票。