46
votes

I want to use the Replace function in VBScript to replace all line breaks in a string for "\n". I come from Java, so using \n inside a string means a line break.

Is there an equivalent in VBScript?

6
I know in vb its vbcrlf.David
@David actually prefer to use vbNewLine which isn’t environment specific (will match vbCr, vbLf and vbCrLf).user692942

6 Answers

52
votes

For replace you can use vbCrLf:

Replace(string, vbCrLf, "")

You can also use chr(13)+chr(10).

I seem to remember in some odd cases that chr(10) comes before chr(13).

15
votes

This page has a table of string constants including vbCrLf

vbCrLf | Chr(13) & Chr(10) | Carriage return–linefeed combination

9
votes

As David and Remou pointed out, vbCrLf if you want a carriage-return-linefeed combination. Otherwise, Chr(13) and Chr(10) (although some VB-derivatives have vbCr and vbLf; VBScript may well have those, worth checking before using Chr).

5
votes

Tried and tested. I know that this works:

Replace(EmailText, vbNewLine, "<br>")

i.e. vbNewLine is also the equivalent of \n

4
votes

I had to use vbLf only in an ASP script where the original data was POSTed from a PHP script on a cPanel box over to ASP on a win server

(VBScript)

EmailText = Replace(EmailText, vbLf, "<br>")
4
votes

I think it's vbcrlf.

replace(s, vbcrlf, "<br />")