我的查詢是string1 = 'Ram is going to school'
,我的另一個匹配字符串是query_string = Ram school
。我如何才能將這兩個單詞匹配到上面的字符串。含義query_string
匹配爲string1
當且僅當來自query_string
的兩個字都在string1
。匹配字符串中的多個單詞
string1 = 'Ram is going to school'
query_string = Ram school
輸出=查詢串具有匹配
我的查詢是string1 = 'Ram is going to school'
,我的另一個匹配字符串是query_string = Ram school
。我如何才能將這兩個單詞匹配到上面的字符串。含義query_string
匹配爲string1
當且僅當來自query_string
的兩個字都在string1
。匹配字符串中的多個單詞
string1 = 'Ram is going to school'
query_string = Ram school
輸出=查詢串具有匹配
代碼
string1 = 'Ram is going to school'
query_string = 'Ram school'
split1 = unique(regexp(string1,'\s','Split'),'stable');
split2 = unique(regexp(query_string,'\s','Split'),'stable');
out = nnz(ismember(split1,split2))==numel(split2)
輸出
out =
1
編輯query_string = 'Ram school days'
,給出out
爲0
。
擴展第1部分:相反,如果你想擁有對比賽的數量的閾值,使用此 -
out = nnz(ismember(split1,split2))>=Threshold
擴展2部分:不區分大小寫匹配
string1 = 'ram is going to schooL';
query_string = 'Ram School';
string1c = unique(regexp(string1,'\s','Split'),'stable');
query_stringc = unique(regexp(query_string,'\s','Split'),'stable');
lstring1c = cellfun(@lower,string1c,'uni',0);
lquery_stringc = cellfun(@lower,query_stringc,'uni',0);
out = nnz(ismember(lstring1c,lquery_stringc))==numel(query_stringc)
輸出
out =
1
謝謝你的幫忙。 – user3416063
'string1'被分割成單詞,'query_string'也被分割。現在,如何在兩個單詞匹配時返回結果。 – user3416063
返回值將是一個二進制權利? 「1」表示完美匹配,否則表示「0」? – Divakar
是的!這將是一個二進制 – user3416063