Compare 2 strings without using ismember or strcmp

7 次查看(过去 30 天)
Hi, I've got a code that gives me different outputs and I want to compare the messages inside them and the ones that are not in one string(X) and are in the other(Y) write them into another output. Lets see:
K is the number of messages that has an string.
If K from X is not in Y = L
And I do not want to use ismember or srcmp because the proces would be very long.
I guess I have explained myself.
Thank youuu for the answer!!!
  4 个评论
flashpode
flashpode 2021-9-27
编辑:Walter Roberson 2021-9-27
a = [qwert34776;
dnfien/8863;
feihfidi234;
939405'cncieni;
300oppdf;
din2004ms;]
b = [qpwn3feini;
300oppdf;;
hfgt4568;
qwert34776;
dnfien/8863]
This could be an example of imputs and the output woulf be the ones that are in a that they are not in b.
And using ismember or strcmp slows the proces because the inputs I got have a lot of data to be comparing one by one
flashpode
flashpode 2021-9-27
I made an example of two imputs if you want the original inputs I can give you but they are this way mixing some letters with numbers and comas, etc

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2021-9-27
编辑:Stephen23 2021-9-27
Presuming that your examples with invalid syntax are actually supposed to be string arrays:
a = ["qwert34776";"dnfien/8863";"feihfidi234";"939405'cncieni";"300oppdf";"din2004ms"];
b = ["qpwn3feini";"300oppdf";"hfgt4568";"qwert34776";"dnfien/8863"];
c = setdiff(a,b)
c = 3×1 string array
"939405'cncieni" "din2004ms" "feihfidi234"
Most likely using SETDIFF will be faster than writing your own function (including time to write, time to test, time to debug, time to maintain, and runtime).

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by