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.

 Respuesta aceptada

KSSV
KSSV el 6 de Mayo de 2021
str1 = 'bio-inspired' ;
str2 = 'bioinspired' ;
str=setdiff(str1,str2)
str = '-'

4 comentarios

Tejas
Tejas el 6 de Mayo de 2021
Great! That works for me.
Tejas
Tejas el 6 de Mayo de 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 el 6 de Mayo de 2021
Huumh....because s is present once in the string. Need to check other ways.
Tejas
Tejas el 6 de Mayo de 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.

Iniciar sesión para comentar.

Más respuestas (1)

Ezma Nasr
Ezma Nasr el 15 de Feb. de 2023

0 votos

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

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 6 de Mayo de 2021

Respondida:

el 15 de Feb. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by