Regexp question number two

I have no idea why this isn't working. I've read in several places that this should work, but it doesn't. I have a string like:
str = 'Hello\nMy name is Lucas';
and I wanted to use regexp to split at the new line character, so I have the following:
results = regexp(str, '\n', 'split');
but it doesn't split the string and just returns the original string. I just upgraded to 2012b. Thanks.

 Respuesta aceptada

Daniel Shub
Daniel Shub el 19 de Sept. de 2012

1 voto

You need to escape the `\`
results = regexp(str, '\\n', 'split')

1 comentario

Matt Tearle
Matt Tearle el 19 de Sept. de 2012
To (hopefully) clarify: the "\n" in your string isn't actually a newline character -- it's just the two characters \ and n. So Daniel's solution is splitting on the literal combination of characters "\n".
If you had defined your string as
str = ['Hello',10,'My name is Lucas']
then the 6th character would actually be a line break and your regexp command would have worked.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Preguntada:

el 19 de Sept. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by