gpt4 book ai didi

arrays - 如何匹配两个字符串之间的某些单词(在 MATLAB 中)?

转载 作者:行者123 更新时间:2023-12-02 06:31:09 26 4
gpt4 key购买 nike

在以下两个字符串中,单词“rabbit”和“tree”是匹配的:

str1 = ('rabbit is eating grass near a tree');
str2 = ('rabbit is sleeping under tree');

假设cmp是一个声明为比较两者的变量。我想要的结果是:

cmp = 2

或者显示两个单词匹配的东西。我该怎么做?

最佳答案

根据另一个答案,将字符串拆分为唯一单词的元胞数组。

str1= ('rabbit is eating grass near a tree');
str2= ('rabbit is sleeping under tree');

% split string into cell array of unique strings
split1 = regexp(str1,'\s','Split');
split2 = regexp(str2,'\s','Split');

或者更高版本的 MATLAB (IIRC R2013a) 包含 strsplit() 函数,因此分割可以减少到

split1 = strsplit(str1);
split2 = strsplit(str2);

然后使用 intersect() 函数获取两个元胞数组之间的公共(public)元素的数量。添加长度以返回整数计数。

cmp = length(intersect(split1,split2));

关于arrays - 如何匹配两个字符串之间的某些单词(在 MATLAB 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22383071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com