How to erase newline character from string?

262 views (last 30 days)
Hello,
I am reading an xml file that contains new line (enter) character. How do I detect and erase it?
text=a.Olay(1)
text =
"YBasla
"
As you can see there is a new line character at the end of the string. Erase could not delete it this way:
erase(text,'↵')
ans =
"YBasla
"
Note that the string looks like this in a table
a =
6×5 table
(...) Olay (...) (...) (...)
_________________ ____________________________ ______________________ _________ __________
(...) "YBasla↵" (...) (...) (...)
I uploaded table and the text variable so that you can play with them.
  2 Comments
Walter Roberson
Walter Roberson on 12 Nov 2018
erase(text,char(10))
Question though: is it possible that there are carriage returns as well as newline?

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 12 Nov 2018
strtrim(text)
  3 Comments
Stephen23
Stephen23 on 12 Nov 2018
Edited: Stephen23 on 12 Nov 2018
"...but new line character is not always at the end or beginning, sometimes there are a few in one string."
regexprep(text,'\n+','')
or if you want to include carriage return as well (if you use Windows):
regexprep(text,'[\n\r]+','')
Donavan Haidinger
Donavan Haidinger on 8 Feb 2021
When working with the replace function, you might need to use char(10) or newline rather than '\n+'
Example:
table.fieldname = replace(table.fieldname,char(10),' ')
or
table.fieldname = replace(table.fieldname,newline,' ')
Both answers yield the same result

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!