san*_*eep 9 php string substring
我有一个字母组合字母和数字.对于我的应用程序,我必须用字母和数字分隔一个字符串:例如:如果我的字符串是"12jan"我将分别得到"12""jan"..
cod*_*ict 13
您可以使用preg_split在以数字开头的点处拆分字符串,后跟字母:
$arr = preg_split('/(?<=[0-9])(?=[a-z]+)/i',$str);
Run Code Online (Sandbox Code Playgroud)
<?php
$str = '12jan';
$arr = preg_split('/(?<=[0-9])(?=[a-z]+)/i',$str);
print_r($arr);
Run Code Online (Sandbox Code Playgroud)
结果:
Array
(
[0] => 12
[1] => jan
)
Run Code Online (Sandbox Code Playgroud)
Mik*_*e C 12
$numbers = preg_replace('/[^0-9]/', '', $str);
$letters = preg_replace('/[^a-zA-Z]/', '', $str);
Run Code Online (Sandbox Code Playgroud)
$string = "12312313sdfsdf24234";
preg_match_all('/([0-9]+|[a-zA-Z]+)/',$string,$matches);
print_r($matches);
Run Code Online (Sandbox Code Playgroud)
这可能会有更好的效果
preg_match_all('/^(\d+)(\w+)$/', $str, $matches);
var_dump($matches);
$day = $matches[1][0];
$month = $matches[2][0];
Run Code Online (Sandbox Code Playgroud)
当然,这只适用于你的字符串完全按照"abc123"描述的那样(没有附加空格或前缀的空格).
如果你想获得所有的数字和字符,你可以使用一个正则表达式.
preg_match_all('/(\d)|(\w)/', $str, $matches);
$numbers = implode($matches[1]);
$letters = implode($matches[2]);
var_dump($numbers, $letters);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30802 次 |
| 最近记录: |