根据字符串将句子中的单词提取到数组中

蒂莫西·伍德(Timothy Wood)

我正在寻找最有效的解决方案,它将使我能够构建一个字符串模板,以从使用模板结构的句子中提取单词和短语。

假设我有string以下内容:

$template = '%% is %% because %%.';

现在,假设我有一个字符串数组:

$strings = [
    'Cheese is the best thing because it is great on chips.',
    'My brother is my best friend because he\'s always been there.', 
    'Listen! StackOverflow is how I am still employed because I am not afraid to ask for help.',
    'Derp... Why is it that I can\'t do this easily? Maybe it is because I need more practice.'
];

我需要可以提取%%通配符所在位置的文本的逻辑,$template以便该$strings数组可用于产生以下内容:

$template = '%% is %% because %%.';
$result = [
    ['Cheese','the best thing','it is great on chips.'],
    ['My brother','my best friend','he\'s always been there.'], 
    ['Listen! StackOverflow','how I am still employed','I am not afraid to ask for help.'],
    ['Derp... Why', 'it that I can\'t do this easily? Maybe it is','I need more practice.']
];

注意:对物理单词/字母使用“爆炸”不是一个好选择,因为某些单词可能多次出现,而我们只想针对此类事件中的第一个出现。

阿布拉·卡达弗

您可以使用正则表达式作为模板:

$template = '(.+?) is (.+?) because (.+?)';

foreach($strings as $string) {
    preg_match("/$template/", $string, $matches);
    $result[] = [$matches[1], $matches[2], $matches[3]];
    //or
    //$result[] = array_slice($matches, 1);
}

如果没有匹配项,或者只有1或2等,则要添加一些错误检查。

如果出于某种原因需要特定的模板命名法,则:

$template = '%% is %% because %%.';
$template = str_replace('%%', '(.+?)', $template);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将列表中的字符串与句子中的单词匹配?

来自分类Dev

使用PHP将字符串中大括号之间的子字符串提取到数组中

来自分类Dev

使用字符串数组Java中的标记/单词构建句子

来自分类Dev

查找并删除与句子中的子字符串匹配的单词

来自分类Dev

将数字提取到字符串数组中

来自分类Dev

根据条件从Java中的字符串数组中提取单词

来自分类Dev

计算长字符串jquery中每个句子的单词

来自分类Dev

使用preg_match将字符串提取到:&|之间的数组中 人物

来自分类Dev

检测字符串变量中的单词列表,并将匹配的单词提取到数据帧中的新变量中

来自分类Dev

搜索字符串/单词,文件名并使用fso提取到新表中

来自分类Dev

将字符串部分提取到R中的列

来自分类Dev

使用python中单词的开始和结束索引从长字符串中提取句子

来自分类Dev

以黄色突出显示字符串中的单词(句子)

来自分类Dev

将字符串读取到C中的二维字符串数组中

来自分类Dev

如何将列表中的字符串与句子中的单词匹配?

来自分类Dev

使用PHP将字符串中大括号之间的子字符串提取到数组中

来自分类Dev

用字符串数组Java中的标记/单词构建句子

来自分类Dev

将列的值提取到字符串中并替换数据框列中的值

来自分类Dev

将数组转换为句子中的字符串

来自分类Dev

如何将一个文件中的字符串提取到多个文件中

来自分类Dev

将字符串中的所有数字提取到数组中

来自分类Dev

如何将字符串的各个部分提取到单独的字符串中

来自分类Dev

根据Bash中的两个单词将字符串切成数组

来自分类Dev

PHP如何将句子中的单词存储到字符串中而不会爆炸

来自分类Dev

提取动态字符串中的单词

来自分类Dev

将Excel列中的字符串数据提取到hashmap中时出现问题

来自分类Dev

将python字符串提取到变量中

来自分类Dev

从字符串中提取单词到数组中

来自分类Dev

将分隔字符串中的文本提取到另一个分隔字符串中 TSQL

Related 相关文章

  1. 1

    如何将列表中的字符串与句子中的单词匹配?

  2. 2

    使用PHP将字符串中大括号之间的子字符串提取到数组中

  3. 3

    使用字符串数组Java中的标记/单词构建句子

  4. 4

    查找并删除与句子中的子字符串匹配的单词

  5. 5

    将数字提取到字符串数组中

  6. 6

    根据条件从Java中的字符串数组中提取单词

  7. 7

    计算长字符串jquery中每个句子的单词

  8. 8

    使用preg_match将字符串提取到:&|之间的数组中 人物

  9. 9

    检测字符串变量中的单词列表,并将匹配的单词提取到数据帧中的新变量中

  10. 10

    搜索字符串/单词,文件名并使用fso提取到新表中

  11. 11

    将字符串部分提取到R中的列

  12. 12

    使用python中单词的开始和结束索引从长字符串中提取句子

  13. 13

    以黄色突出显示字符串中的单词(句子)

  14. 14

    将字符串读取到C中的二维字符串数组中

  15. 15

    如何将列表中的字符串与句子中的单词匹配?

  16. 16

    使用PHP将字符串中大括号之间的子字符串提取到数组中

  17. 17

    用字符串数组Java中的标记/单词构建句子

  18. 18

    将列的值提取到字符串中并替换数据框列中的值

  19. 19

    将数组转换为句子中的字符串

  20. 20

    如何将一个文件中的字符串提取到多个文件中

  21. 21

    将字符串中的所有数字提取到数组中

  22. 22

    如何将字符串的各个部分提取到单独的字符串中

  23. 23

    根据Bash中的两个单词将字符串切成数组

  24. 24

    PHP如何将句子中的单词存储到字符串中而不会爆炸

  25. 25

    提取动态字符串中的单词

  26. 26

    将Excel列中的字符串数据提取到hashmap中时出现问题

  27. 27

    将python字符串提取到变量中

  28. 28

    从字符串中提取单词到数组中

  29. 29

    将分隔字符串中的文本提取到另一个分隔字符串中 TSQL

热门标签

归档