您好我有以下
string = "joseph daniel commented on project aadhar"
如何将上面的字符串分成4个部分,即
"joseph daniel"
,"commented on"
,"project"
和"aadhar"
谢谢和问候
答案 0 :(得分:1)
您可以使用爆炸功能:
explode($delimiter , $string);
因此,分隔符应为“”,$ string应为“joseph daniel对项目aadhar的评论”。
应用该函数后,您将得到一个包含句子中所有单词的数组。
Preety整洁:)
答案 1 :(得分:0)
我相信你的问题还有更多 - 例如你有句子的变化吗?如果没有,这将起作用:
$sentence = "joseph daniel commented on project aadhar";
$first = substr($sentence, 0, 13);
$second = substr($sentence, 14, 12);
$third = substr($sentence, 27, -1);
如果您想要更好的答案,则需要包含其他单词示例
答案 2 :(得分:-1)
您没有向我们提供足够的信息,但从您的评论中收集,您似乎需要从* commented on *
格式的字符串中提取主题和资源。为了让你开始朝着正确的方向前进,你可以做到:
$str = 'joseph daniel commented on project aadhar';
$matches = array();
preg_match('/^(.*)\s+commented on\s+(.*)$/', $str, $matches);
这将产生一个数组:
Array
(
[0] => joseph daniel commented on project aadhar
[1] => joseph daniel
[2] => project aadhar
)
$matches[1]
将包含该名称,然后您可以展开或使用其他preg_match
$matches[2]
来挑选资源类型,例如项目,活动等等(您需要编译的资源类型列表)。我没有足够的资源类型信息,例如,如果它们可以是多个单词,那么我就可以给你了。
答案 3 :(得分:-1)
假设字符串,"评论"永远不会改变,你可以使用:
<?php
$string = "sandesh commented on institue international institute of technology";
preg_match('/(.*) commented on (.*?) (.*)/', $string, $m);
var_dump($m);
?>
结果
Array(
0 => 'joseph daniel commented on project aadhar'
1 => 'joseph daniel'
2 => 'project'
3 => 'aadhar'
)
或
Array(
0 => 'sandesh commented on institue international institute of technology'
1 => 'sandesh'
2 => 'institue'
3 => 'international institute of technology'
)
版主注意:此问题可能应与Doubt regarding Strtok in PHP
合并