Remove a string from another string

I have two strings like 'bio-inspired' and 'bioinspired'. I want to essentially subtract one string from another and get '-' in the end. How can I delete all letters appearing in one string from another string? The erase function doesn't work for this case.

 Réponse acceptée

str1 = 'bio-inspired' ;
str2 = 'bioinspired' ;
str=setdiff(str1,str2)
str = '-'

4 commentaires

Tejas
Tejas le 6 Mai 2021
Great! That works for me.
Tejas
Tejas le 6 Mai 2021
I have a problem though. This doesn't work for repeated letters. setdiff('sam','sams') gives me an empty array. Is there a way around that?
KSSV
KSSV le 6 Mai 2021
Huumh....because s is present once in the string. Need to check other ways.
Tejas
Tejas le 6 Mai 2021
I guess erase would work for that case. Both wouldn't work for words like 's-ams' and 'sam' to get '-s'. I'll figure something out for those cases.

Connectez-vous pour commenter.

Plus de réponses (1)

Ezma Nasr
Ezma Nasr le 15 Fév 2023

0 votes

str='bio-inspired';
newStr = erase(str,"-")

Catégories

En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange

Produits

Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by