Php 获取字符串的特定子集
我得到的回应如下: 嗯。USC01019181 j2log AGOWZBUSKJWNYALQEXG详细信息这是我的回复。 硅。RVC000827503 Si 考虑到应答句可以是“Si”以外的内容,如何才能得到应答的“Si.”部分而忽略其余/重复的部分。我的正则表达式很差,所以我甚至不知道如何从这个开始。请注意,上面的回复是在收到时发布的,带有换行符(没有换行符)等。您可以尝试Php 获取字符串的特定子集,php,Php,我得到的回应如下: 嗯。USC01019181 j2log AGOWZBUSKJWNYALQEXG详细信息这是我的回复。 硅。RVC000827503 Si 考虑到应答句可以是“Si”以外的内容,如何才能得到应答的“Si.”部分而忽略其余/重复的部分。我的正则表达式很差,所以我甚至不知道如何从这个开始。请注意,上面的回复是在收到时发布的,带有换行符(没有换行符)等。您可以尝试 $text = array(); $text[] = 'Si. USC01019181 j2log-aGoWZbUSKJ
$text = array();
$text[] = 'Si. USC01019181 j2log-aGoWZbUSKJWNYALQQEXG-detail This is my response. ';
$text[] = "Cotton eye joe. USC01019181 j2log-vBaIUwYSOJRZTAPCQISG-detail";
foreach ( $text as $msg ) {
echo strstr($msg, '.', true) , "\n";
}
输出
Si
Cotton eye joe
如果要grep的文本始终位于响应的第一行,则只需读取第一行并转储其余的。。您可以这样做:
substr($str,0,strpos($str,“\n”))
下面哪一个什么该死代码>你想要什么??或者你想要什么见鬼代码>因为它不止一次出现似乎没有任何新行:/该死的。@Baba任何出现不止一次的字符串都可能有效,但正如我所说,我的正则表达式非常糟糕,没有新行newlines@WtotheX如果没有重复的,会发生什么。。将选择什么。。别担心你的正则表达式我会想办法的我试过了,但只会记住第一个字。例如,我得到的回应是“Cotton eye joe.USC01019181 j2log vBaIUwYSOJRZTAPCQISG详细信息”,strstr只得到了“Cotton”Ok,我想我现在知道你想要什么了。。如果可能的话,霍尔德·奥尼想要得到“棉眼乔”,而不是其他任何东西。