Символ ORACLE(13) заменить в ASP.NET MVC

#c# #asp.net #oracle

Вопрос:

У меня есть шаблон электронной почты, который мне нужно отобразить для редактирования (при необходимости) соответственно в форме. В базе данных ORACLE электронное письмо сохраняется следующим образом:

 Hello,' || chr(13) || ' ' || chr(13) || '' || chr(13) || 'You are now a registered user' || chr(13) || '' || chr(13) || 'Authorization User Email: @username' || chr(13) || 'Initial Password: @password' || chr(13) || '' || chr(13) || ' ' || chr(13) || '' || chr(13) || 'Before you Sign-In, you must change your initial account password.' || chr(13) || '' || chr(13) || ' ' || chr(13) || '' || chr(13) || 'Application could be downloaded from here: URL' || chr(13) || '' || chr(13) || ' ' || chr(13) || '' || chr(13) || 'Please read the Terms of Use, following the link: URL' || chr(13) || '' || chr(13) || 'By downloading, installing or using the App, you indicate that you accept these Terms of Use and that you agree to abide by them. Your download, installation or use of the App constitutes your acceptance of the Terms of Use, which takes effect on the date on which you download, install or use the App.' || chr(13) || '' || chr(13) || ' ' || chr(13) || '' || chr(13) || 'Regards,' || chr(13) || '' || chr(13) || '
 

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

 Hello,

You are now a registered user.
Authorization User Email: @username
Initial Password: @password

Before you Sign-In, you must change your initial account password.

Application could be downloaded from here: URL

Please read the Terms of Use, following the link: URL
By downloading, installing or using the App, you indicate that you accept these Terms of Use and that you agree to abide by them. Your download, installation or use of the App constitutes your acceptance of the Terms of Use, which takes effect on the date on which you download, install or use the App.

Regards,
app team
 

Я попытался использовать регулярное выражение, но не смог добиться успеха…
Кроме того, как только пользователь отредактирует текст в представлении, я думаю, его нужно снова сохранить с помощью символа(13) … что опять же не знаю, как сделать…

Комментарии:

1. Не могли бы вы поделиться своими ожидаемыми результатами, чтобы проиллюстрировать, что вы подразумеваете под «визуально в порядке»?

2. @Magnetron Я обновил его.

3.@ CHR(13) BoyanMihnev-персонаж новой строки. Если вы запишете это в текстовый файл, вы увидите, что текст уже разбит на несколько строк. HTML, не ASP.NET, однако игнорирует новые строки. Вместо новой строки вы должны были использовать <br> разрыв строки или теги абзаца и div

4. @BoyanMihnev это означает, что строка CHR(13) даже не существует в строке, поэтому ее нельзя заменить. Как вы отображаете этот текст? Если он отображается в формате HTML, вам нужно заменить новые строки разрывами строк (<br>) или разделителями. Если вы отобразите его в многострочном текстовом поле, вам не придется ничего делать

Ответ №1:

Вы , вероятно, захотите использовать chr(10) вместо chr(13) или, возможно chr(13)||chr(10) ,. Или, как предложил Панайотис Канавос, если это электронное письмо, используйте <br> вместо него.

Если у вас есть переменная в запросе или программе PL/SQL, вы можете сделать что-то вроде: v_email := replace(v_email, chr(13), chr(10));

chr(13) является символом возврата каретки и chr(10) символом ввода строки. Если вы когда-либо использовали старую пишущую машинку, chr(13) это похоже на то, как отодвинуть панель, чтобы вы могли печатать слева, и chr(10) это похоже на поворот ручки, чтобы переместить страницу на следующую строку. Windows использует chr(13)||chr(10) для новых строк, которые имитируют старые пишущие машинки, где вам приходилось выполнять два отдельных движения. Unix использует только chr(10) для новых строк, что имитирует более новые пишущие машинки, которые автоматически перемещали страницу после того, как вы передвинули полосу.

Да, даже в 2021 году нам все еще приходится иногда думать как пишущие машинки, потому что разные системы имитируют их. Например, в некоторых старых программах Windows и DOS только использование chr(13) будет означать, что символы будут перезаписывать друг друга, и ваш текст будет обрезан. Некоторые программы будут просто игнорировать один chr(13) , а некоторые будут рассматривать их как общие пробелы. Обычно chr(13) это не нужно, но вам почти наверняка нужно chr(10) .

Если вы добавите дополнительную информацию о своем приложении, программе базы данных или почтовом клиенте, мы могли бы дать более конкретные рекомендации по устранению этой проблемы.