让我说我有:
_Example
_1979
我们如何知道_
之后的字符是number
还是letter
?我不熟悉regex
。
我正在做的只是找到以_
开头的字符串然后删除_
,因为我只是出于其他原因使用它:
if (strpos($txt, '_') !== false) {
$output = str_replace('_', ' ', $txt);
echo $output;
...Now I should find if the first `character` is a `letter` or a `number`
答案 0 :(得分:6)
如果您不想要正则表达式,那么PHP实际上允许您直接从字符串访问字节:
$string = '_1987';
// Since string indexing is zero-based, we want to check if
// the first char is an underscore and
// the second character is a digit
if( $string[0] === '_' && ctype_digit( $string[1] ) )
{
echo 'underscore followed by digit!';
// chop off the leading underscore
$string = substr( $string, 1 );
}
else
{
echo 'not underscore followed by digit!';
}
答案 1 :(得分:0)
为此你可以避免regexp ..你可以简单地使用is_numeric()
is_numeric(substr($txt, 1));
答案 2 :(得分:0)
您可以执行类似
的操作if (is_numeric($txt[1])) ...
您可以根据需要使用方括号或使用substr来访问字符串的第一个字母。
if (is_numeric(substr($txt, 1))) ...
这将返回true或false
供参考
http://php.net/manual/en/function.is-numeric.php
http://php.net/manual/en/function.substr.php