我试图找出字符串中的第二个字符是否为空格。所以,如果我有这个:
"a brown fox"
和
"hello world"
如何标记第一个字符串在第二个位置有空格,但是第二个字符串没有第二个空格?
答案 0 :(得分:1)
例如,我可以想到多种方法
if($string[1] == " ") {
//$string's 2nd character is a space
}
[1]
捕获字符串的第二个字母,因为它充当数组,并且数组以键0
开头。
如果您收到错误消息,指出字符串不是数组或无效索引等,那么您可能需要将字符串拆分为数组才能使第一个字符串起作用。
if(str_split($string)[1] == " ") {
//$string's 2nd character is a space
}
substr()
类似于第一个示例,您还可以使用substr()
:
if(substr($string, 1, 1) == " ") {
//$string's 2nd character is a space
}
strpos()
再次类似,您可以使用strpos()
if(strpos("a brown fox", " ") == 1) {
//$string's 2nd character is a space
}
preg_match()
如果愿意,也可以使用正则表达式
if (preg_match('/^. /', $string)) {
//$string's 2nd character is a space
}
模式细分:
^
在行的开头断言位置.
匹配任何字符(行终止符除外)
从字面上匹配字符explode()
另一种(虽然不那么简单)的方法是使用explode()
在空格处打断字符串,然后计算字符串在第一个空格之前的时间。
$string_parts = explode(" ", $string);
if(strlen($string_parts[0]) <= 1) {
//$string's 2nd character is a space
}
如果您已经计划将字符串分成多个部分,这将很有用。