• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 227
  • Last Modified:

How to remove the newline charecter from the String

A wideString str contains a string with a newline charecter(Enter key ).
I am trying to copy the WideString value to String variable. It is copying #$D#$A charecters in place of the enter key or new line charecter. How to remove this from the String.
0
kiru
Asked:
kiru
  • 3
  • 2
  • 2
1 Solution
 
TheNeilCommented:
Do the copy as before and then check every character in the String:

TempStr := WideStr;
NormalStr := '';
FOR n := 1 TO Length(TempStr)
DO
  IF NOT(TempStr[n] IN [#10, #13])
  THEN
    NormalStr := NormalStr + TempStr[n];

Not the most elegant of solutions but it works.

The Neil =:)
0
 
kiruAuthor Commented:
Edited text of question.
0
 
LischkeCommented:
Hi kiru,

I'm not sure if removing the newline/linefeed combination is what you really want. You should distinct between the enter key (which is just a key and can be interpreted in different ways) and the NL/LF combination, which CAN be the result of pressing the enter key (but must not).

You wrote that copying the wide string to an ANSI string copies NL/LF instead of enter key. This makes no sense, as there's no line break character yet in the target string which could be replaced by NL/LF. So my assumption is that you have NL/LF in your wide string and want it totally removed (which will break the text layout) or replaced by something else. Can you confirm this?

Ciao, Mike
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
LischkeCommented:
Oh, while I wrote my comment you changed the question's text. But unfortunately it still makes no sense. What exactly does the wide string contain? Is it just a new line (NL = Char(13)) or a NL/LF combination or what else?

Ciao, Mike
0
 
kiruAuthor Commented:
Edited text of question.
0
 
kiruAuthor Commented:
I found a solution as TheNeil has put it. I searched for #13 & #10 & removed them from the string(not in widestring, normal string). It is working fine.
 Lischike ,in widestring it shows some
charecter similar to capital I.


0
 
TheNeilCommented:
Thanks Kiru. Your 'capital I' problem might be something that the character set can't display. What you could do is change my example to do this:

  IF TempStr[n] IN ['A'..'Z', 'a'..'z', '0'..'9', ',']
  THEN
    NormalStr := NormalStr + TempStr[n];

You'll need to extend the set to cover all of the characters that you want to actually allow but it will filter out anything that you don't want (or expect)

The Neil =:)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 3
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now