这是最奇怪的事情,我不知道这是怎么发生的。我的 asp.net 网站上的用户如何创建多行字符串但未使用正常的回车或换行。
我试图弄清楚这是如何实现的。
它是一个多行文本框,当您按下回车键时,它会转到一个新行。
在 aspx 代码中,我使用以下代码将字符串分解为数组并计算数组中的行数。
Dim text as String = txtMessage.Text.Trim
Dim Array as String() = text.split(vbNewLine)
Return Array.Length
在大多数正常情况下,当有换行时,它会进入下一行,输入 CR/LF,代码会将字符串分成新行。同样按回车键会创建一个新行,拆分功能用于分隔行并根据行数创建维度数组。
只有一个用户知道如何使用非标准 CRLf 创建新行。它导致 vbnewline 的拆分无法捕获并将字符串分解为数组。我以前从未见过这种情况。
我不是在问如何解决这个问题。我想我很清楚如何通过正则表达式对字符串进行额外检查来防止这种情况发生。
我完全不明白这是怎么发生的。如果你以前见过这个或者知道这是如何实现的,那么我很想听听你的想法。
以下是我尝试过的事情: 将 HTML 插入字符串(不起作用):手动在字符串中添加换行符,例如 \r,并使用十六进制代码来混淆拆分功能(不起作用):将脚本注入字符串(不起作用):使用 access 和 excel 创建字符串,而不使用标准 CRLF 以及复制和粘贴(不起作用)。
我有 5 年的编码经验并且完全感兴趣。你能解决这个问题吗?