942,515 Members | Top Members by Rank

Ad:
You are currently viewing page 1 of this multi-page discussion thread
Sep 11th, 2006
0

How to Remove Newline character from a VB String

Expand Post »
Hi,
How do you delete a newline character that is inside a VB string? Apparently Trim removes only spaces.

Thanks in Advance.
Similar Threads
Moderator
Reputation Points: 572
Solved Threads: 115
Mentally Challenged Mod.
WolfPack is offline Offline
1,559 posts
since Jun 2005
Sep 11th, 2006
0

Re: How to Remove Newline character from a VB String

OKay. I managed to, or at least I think I did, to do it with this.
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. SearchString = Replace(SearchString, Chr(13), "")
If anyone has a better solution, or it doesnt do what I want, please correct me. Thanks.
Moderator
Reputation Points: 572
Solved Threads: 115
Mentally Challenged Mod.
WolfPack is offline Offline
1,559 posts
since Jun 2005
Sep 11th, 2006
1

Re: How to Remove Newline character from a VB String

That is the best way to do it. A couple things I would note on this. One of them, is the use of an empty string in the replace function. I know on small applications, that it doesn't make a serious difference, but an empty string uses memory space (well, more than a null value). A Character holds (I believe it's) 8 bytes. A Null Value holds like 1, or 2. So, in really big VB applications, changing "" to vbnullstring can speed up the app (benchmarks show by 40%) by using vbnullstring instead of "". So, you could redo the function as SearchString = Replace(SearchString, Chr(13), vbnullstring) to perform the same action, and save RAM usage. Again, I know this isn't extremely important, especially with modern machines, but it's good to know, and a nice practice to have.

The other thing, and I'm not sure if this is the intended result or not, but the above code will remove ALL chr(13's) from the string, not just the trailing one (when reading files, it's usually not a problem, since input will separate lines by newlines as it's read in, but a lot of apps that I have built require reading a file (or from a socket) 1 character at a time). An alternative method, if you are just wanting to remove the trailing newline, would be to use the left function SearchString = left(SearchString, Len(SearchString) -1).

I'm sure that the replace function is a fine solution for what you are doing, but I wanted to make sure to note the couple of exceptions.
Team Colleague
Reputation Points: 361
Solved Threads: 214
Taboo Programmer
Comatose is offline Offline
2,413 posts
since Dec 2004
Sep 11th, 2006
0

Re: How to Remove Newline character from a VB String

Wow. That was some interesting points you made there. Used the vbNullString, as you adviced. And about the second point, yes I want to remove the trailing newspace. But the thing is this is for a Office Macro. I want to remove the newline from the double clicked text the user selected. Depending on the situation, the double clicked text may or may not have a newline. So I can't always be sure that the last character is a newline. So I will have to stick with the Replace function. Keep any additional advice coming. Much appreciated.
Moderator
Reputation Points: 572
Solved Threads: 115
Mentally Challenged Mod.
WolfPack is offline Offline
1,559 posts
since Jun 2005
Sep 11th, 2006
1

Re: How to Remove Newline character from a VB String

Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. if right(SearchString, 1) = chr(13) or right(SearchString, 1) = chr(10) then
  2. SearchString = right(SearchString, len(SearchString) -1)
  3. end if
Would Also Do The Trick... There's more than one way to strip a newline (ok, that one's bad).
Team Colleague
Reputation Points: 361
Solved Threads: 214
Taboo Programmer
Comatose is offline Offline
2,413 posts
since Dec 2004
Sep 11th, 2006
0

Re: How to Remove Newline character from a VB String

hmmm. Looks like there is a problem with your last snippet. When I select it with a newline, I get a completely different character. Mind you that I am working in Japanese, so maybe the fact that unicode characters have 2 bytes comes into play here. So running the above code with the selected text as


障害NL leaves me with a character like (but not exact) this. I don't even know what character it is. First time i saw something like that. The replace function works fine. :eek:

Edit.

Checked again. It is the second character in the search string. It was difficult to recognise in the debugger. One of the lines was missing because of the apparent low resolution in the debugger so I thought it was a new character.. Japanese can be subtle sometimes.
Last edited by WolfPack; Sep 11th, 2006 at 7:12 pm.
Moderator
Reputation Points: 572
Solved Threads: 115
Mentally Challenged Mod.
WolfPack is offline Offline
1,559 posts
since Jun 2005
Sep 11th, 2006
1

Re: How to Remove Newline character from a VB String

It's a problem with my code (BAH):
Visual Basic 4 / 5 / 6 Syntax (Toggle Plain Text)
  1. if right(SearchString, 1) = chr(13) or right(SearchString, 1) = chr(10) then
  2. ' /* Should be Left, Not Right */
  3. SearchString = left(SearchString, len(SearchString) -1)
  4. end if
Last edited by Comatose; Sep 11th, 2006 at 7:19 pm.
Team Colleague
Reputation Points: 361
Solved Threads: 214
Taboo Programmer
Comatose is offline Offline
2,413 posts
since Dec 2004
Sep 11th, 2006
0

Re: How to Remove Newline character from a VB String

Oh. I should have looked more closely myself.
Moderator
Reputation Points: 572
Solved Threads: 115
Mentally Challenged Mod.
WolfPack is offline Offline
1,559 posts
since Jun 2005
Mar 23rd, 2007
0

Re: How to Remove Newline character from a VB String

Click to Expand / Collapse  Quote originally posted by WolfPack ...
Hi,
How do you delete a newline character that is inside a VB string? Apparently Trim removes only spaces.

Thanks in Advance.

Hi,
You can try this and smile.:lol:

Replace(String, vbNewLine, "", , , vbTextCompare)

Thanks
---Ashok Paswan
Reputation Points: 10
Solved Threads: 1
Newbie Poster
ashok_paswan is offline Offline
2 posts
since Mar 2007
Mar 26th, 2007
0

Re: How to Remove Newline character from a VB String

Hi,
You can try this and smile.:lol:

Replace(String, vbNewLine, "", , , vbTextCompare)

Thanks
---Ashok Paswan
Works perfect, thanks alot! :cheesy:
Reputation Points: 10
Solved Threads: 1
Newbie Poster
mikex is offline Offline
1 posts
since Mar 2007

This thread is solved

Either the thread starter or a moderator has marked this thread as solved. You can most likely trust the responses and answers given. There is most likely no reason for any further responses to be posted here. If you have a related question, please start a new thread in this forum instead.
Message:
Previous Thread in Visual Basic 4 / 5 / 6 Forum Timeline: Creating a Crystal Report using data from two tables in Access 2007
Next Thread in Visual Basic 4 / 5 / 6 Forum Timeline: Help Need Help About Elavator Simulation For Vb 6





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC