在php中识别并获取字符串中的大写单词
有没有一个函数或方法来获取句子或字符串上的大写单词? 示例:在php中识别并获取字符串中的大写单词,php,Php,有没有一个函数或方法来获取句子或字符串上的大写单词? 示例:$str=“关于我们是谁” 我如何才能识别并获取大写单词“关于我们”,并将其与小写单词“我们是谁”?因此,输出将是$str1=“关于我们”和$str2=“我们是谁”。。。谢谢 您可以对其使用正则表达式: preg_match_all('/\b([A-Z]+)\b/', $str, $matches); 要匹配小写单词,请使用以下命令: preg_match_all('/\b([a-z]+)\b/', $str, $matches2);
$str=“关于我们是谁”
我如何才能识别并获取大写单词
“关于我们”
,并将其与小写单词“我们是谁”
?因此,输出将是$str1=“关于我们”
和$str2=“我们是谁”
。。。谢谢 您可以对其使用正则表达式:
preg_match_all('/\b([A-Z]+)\b/', $str, $matches);
要匹配小写单词,请使用以下命令:
preg_match_all('/\b([a-z]+)\b/', $str, $matches2);
然后,您可以使用诸如
内爆()
之类的函数来构建字符串。除了正则表达式解决方案之外,PHP还具有neato函数,用于测试字符串是否都是大写。您可以通过正在解析的文本一次输入一个字符。如果返回true,则将字符添加到$str1
。返回false后,将字符串的其余部分添加到$str2
为了获得更大的灵活性,您可以在一个数组中创建$str1和$str2元素。然后,您可以在每次解析的文本改变大小写时添加新元素。例如,文本
“HELLO AND welcome to STACKOVERFLOW bro”
将以[“HELLO AND”,“welcome to”,“STACKOVERFLOW”,“bro”]
结尾。或者您可以为文本的大小写块使用单独的数组 那我们是谁呢?这一点都不重要。因为所有要检查的字符串都会有一个结构,其中所有大写字母都在第一行,小写字母都在第二行,就像这样“大写字母第一个小写字母下一个”我对正则表达式不太熟悉(有点在学习过程中),但我想他想包括空格和修剪(如果他想的话)是“关于我们”而不是“关于”“我们”或者“关于我们”)这应该不太难添加,但正如我所说,我不想冒险编辑它。字符串将始终具有单词/s所有大写字母,它们将在第一次出现时出现,小写字母将在其旁边,就像示例中一样。。。因此,我将要测试的字符串总是类似于“所有大写字母优先,所有小写字母次之”,因此,如果我有关于如何操作的条件,那么将两者分开会更容易。当然,每个分隔字符串前后的空格将被忽略