为什么我不能用Typescript替换换行符Char(Javascript)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我不能用Typescript替换换行符Char(Javascript)相关的知识,希望对你有一定的参考价值。
我有一个字段,用户可以在其中输入一些文本,这些文本将显示在页面上的另一个div中。它也会保存到数据库(MSSQL)。
刷新页面时,将加载已保存的文本并进行编辑。编辑文本后,div也将实时更新。为了使换行符正常工作,我做了一个快速的换行符替换方法,应该涵盖所有的换行符。
let content = Tooltip.GetText(); // Tooltip is a Devexpress Memo Control
let content1 = content.replace("
", "<br />");
let content2 = content1.replace("
", "<br />");
let content3 = content2.replace("
", "<br />");
let content4 = content3.replace("
", "<br />");
虽然这适用于从数据库加载的换行符,但它不适用于用户刚输入的换行符。但是,在刷新页面后,换行符将起作用。
这是我当前调试结果的屏幕截图。您可以清楚地看到两个换行符中的第一个被替换但不是第二个换行符。我想了解原因。
我尝试将调试内容从控制台复制到Notepad ++以查看特定字符,但看起来像Notepadd ++,Windows或Chrome在复制时更改数据。 Notepad ++将显示两个
答案
试试这个:
let content1 = content.replace(/
/g, "<br />");
let content2 = content1.replace(/
/g, "<br />");
let content3 = content2.replace(/
/g, "<br />");
let content4 = content3.replace(/
/g, "<br />");
您的问题是.replace
函数只替换第一次出现,除非您使用全局标志传递正则表达式。
以上是关于为什么我不能用Typescript替换换行符Char(Javascript)的主要内容,如果未能解决你的问题,请参考以下文章