我有一行,通常以几个空格开头,因为这些行是在列中,并使用等宽字体来排列。我想检查第一个非空格字符(或者甚至是第一个不是空格的字符),看看它是否是一个数字。执行此操作的服务器密集度最低的方法是什么?
发布于 2009-09-23 07:15:49
您可以使用trim()
(本例中为ltrim()
)删除空格,并利用对字符串的数组访问:
$line = ltrim($line);
is_numeric($line[0]);
发布于 2009-09-23 07:17:13
您可以使用正则表达式:
if (preg_match('/^\s*(\S)/m', $line, $match)) {
var_dump($match[0]);
}
或者删除开头的任何空格,然后获取第一个字符:
$line_clean = ltrim($line);
var_dump(substr($line_clean, 0, 1));
发布于 2009-09-23 07:19:21
if (preg_match('/^\s*\d/', $line)) {
// ^ starting at the beginning of the line
// \s* look for zero or more whitespace characters
// \d and then a digit
}
https://stackoverflow.com/questions/1466645
复制