Azzera filtri
Azzera filtri

How to erase newline character from string?

316 visualizzazioni (ultimi 30 giorni)
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 Commenti
Walter Roberson
Walter Roberson il 12 Nov 2018
erase(text,char(10))
Question though: is it possible that there are carriage returns as well as newline?

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 12 Nov 2018
strtrim(text)
  3 Commenti
Stephen23
Stephen23 il 12 Nov 2018
Modificato: Stephen23 il 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 il 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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by