Многострочная строка у классического Asp

там возможность состоит в том, чтобы получить многострочную строку у классического asp (я думаю, что vbscript является языком)?

Я хочу многострочную строку как в Python или отличный:

ул. определения =" ""привет я - многострочная строка"""

Я искал много, но не нашел решение.

Обходные решения приветствуются также.

BTW: Я имел в JavaScript ту же проблему и решил его назад вовремя с функцией, сохраненной в переменной. Эта функция имела многострочный комментарий в ней так, я мог через все далеко кроме комментария с помощью regex.

Что-то вроде этого:

var multilinestr = function() {
/*
hello
I am a multiline
string
*/
}

И после Regex я получил Строку, которая содержит:

hello
I am a multiline
string

Спасибо.

Править:

Я думаю, что упустил очень важную суть. Мой клиент - Вы использующий что-то как "пред процессор" для его сценариев. Это похоже на это:

Dim str 
str = "<%std_text%>"

"Пред процессор" обменивается" <%std_text %>" с текстом, который прибывает из Базы данных. Но этот текст имеет перерывы в нем так, я не могу только поместить '"и vbNewline' в конец строки. Это означает после "пред обработка", она похожа на это:

Dim str 
str = "hello 
I am a multiline
string"

Там должен так или иначе получить этот "текст" в строке?

Если я мог бы записать что-то вроде этого (отличное):

def multistr = """<%std_text%>"""

после "пред обработка":

def multistr = """hello
I am a multiline
string"""

Это было бы большим!

7
задан OemerA 16 December 2009 в 14:52
поделиться

5 ответов

К сожалению, вы будете не смогу использовать это как есть, насколько я могу судить. Вам нужно будет изменить препроцессор, чтобы заменить vbNewLine на фактическую переменную vbNewLine , а не на истинные разрывы строк. В VB Script нет способа объединить строку в несколько строк без использования & _ , который требует, чтобы вы закрывали строку перед тем, как делать это в каждой строке, что не представляется возможным при такой настройке.

2
ответ дан 6 December 2019 в 15:23
поделиться

python:

text = """"
hello world
this is some text
"""

vbscript:

text = "" & vbcrlf &_
"hello world" & vbcrlf &_
"this is some text" & vbcrlf

Вы также можете написать собственный класс строкового буфера и т. Д.

with new StringBuffer
    .writeline "hello world"
    .writeline "this is some text"
    result = .as_string
end with

Просто ПОЦЕЛУЙ ... Я имею в виду «препроцессор» для языка сценариев? Звучит не очень хорошо ....

Если вам действительно нужно использовать препроцессор (i18n?), Вам нужно будет его изменить, заменив все разрывы строк на «& vbcrlf &».

7
ответ дан 6 December 2019 в 15:23
поделиться

Не могли бы вы добавить в строку символы возврата каретки?

Dim myString: myString = "Line 1" & vbCrLf & "Line 2" ... и т. Д.

3
ответ дан 6 December 2019 в 15:23
поделиться

Do you want multi-line as in the plain text sent to the browser is multi-line? Or do you want the rendered text to be multi-line?

If its the former, a solution like Mick's works. You can use either vbCrLf or vbNewLine to create a new line in the text sent to the browser. IIRC the latter is preferred as it provides either the carriage return or the carriage return/line feed as appropriate for the client.

Dim myString : myString = "hello" & vbNewLine & "I am a multi-line" & vbNewLine & "string"

If its the latter, you just need to put a
where you want the browser to create a new line. In this case, you may want to think about why you want it to display the way you want it to display as there may (or may not) be a better way of doing it.

2
ответ дан 6 December 2019 в 15:23
поделиться

Я знаю только два способа, и я делаю это уже более 10 лет.

Dim x: x = "Hello" & vbNewline & "World"

или

Dim x: x = "Hello" & vbNewline & _
        "World"

Думаю, есть и способ взлома:

Dim x: x = Replace("Hello\nWorld", "\n", vbNewline)
0
ответ дан 6 December 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: