如何在PHP中获取分隔符前的第一个单词
所以基本上我有这样一个字符串:如何在PHP中获取分隔符前的第一个单词,php,Php,所以基本上我有这样一个字符串: kbIr cugY icqwrY BI; cugY cuig cuig icqwry ] 我该怎么做才能让PHP在之前成为字符串的一部分然后获取分隔符前的第一个单词,因此输出为: BI 到目前为止,我有:strtok($g,,;),但它只获取分隔符前字符串的前半部分,而不是分隔符前的第一个单词。此正则表达式模式匹配大小写字母(无空格),后跟分号。我还为捕获添加了一个命名组 (?P<sep>[a-zA-Z]*); 简化 if (isset($mat
kbIr cugY icqwrY BI; cugY cuig cuig icqwry ]
我该怎么做才能让PHP在之前成为字符串的一部分
然后获取分隔符前的第一个单词,因此输出为:
BI
到目前为止,我有:
strtok($g,,;)代码>,但它只获取分隔符前字符串的前半部分,而不是分隔符前的第一个单词。此正则表达式模式匹配大小写字母(无空格),后跟分号。我还为捕获添加了一个命名组
(?P<sep>[a-zA-Z]*);
简化
if (isset($matches['sep']) and len($matches['sep']) > 0) {
echo $matches['sep'][0]; // BI
}
此正则表达式模式匹配大小写字母(不带空格),后跟分号。我还为捕获添加了一个命名组
(?P<sep>[a-zA-Z]*);
简化
if (isset($matches['sep']) and len($matches['sep']) > 0) {
echo $matches['sep'][0]; // BI
}
要仅获取分隔符前的第一个单词,只需使用preg\u match
函数即可:
$str = 'kbIr cugY icqwrY BI; cugY cuig cuig icqwry ]';
preg_match("/\b\w+(?=;)/i", $str, $m);
print_r($m[0]);
输出:
BI
要仅获取分隔符前的第一个单词,只需使用preg\u match
函数即可:
$str = 'kbIr cugY icqwrY BI; cugY cuig cuig icqwry ]';
preg_match("/\b\w+(?=;)/i", $str, $m);
print_r($m[0]);
输出:
BI
为了完整起见,如果您不喜欢正则表达式:
$value = end(explode(" ", array_shift(explode(";", "kbIr cugY icqwrY BI; cugY cuig cuig icqwry ]"))));
print_r($value); // prints BI
为了完整起见,如果您不喜欢正则表达式:
$value = end(explode(" ", array_shift(explode(";", "kbIr cugY icqwrY BI; cugY cuig cuig icqwry ]"))));
print_r($value); // prints BI