繁体   English   中英

多行文本框到字符串

[英]multiline textbox to string

我有一个多行文本框,希望将其转换为字符串,发现了这一点

字符串textBoxValue = textBox1.Text.Replace(Environment.NewLine,“ TOKEN”);

但是不了解令牌是什么令牌? 空格还是/ n换行符? 如果答案不正确,请告诉我正确的做法

谢谢

在您提供的代码段中,“ TOKEN”是您想要插入的任何值,例如HTML <br />标记,更多用于格式化的Environment.NewLine ,或者只是一些稍后将允许您分割文本的随机定界符在上面。

一个非常简单的例子:

string text = textBox1.Text.Replace(Environment.NewLine, "^"); // a random token
string[] lines = test.Split( '^' );

如果要处理来自Web上可用文本框的输入,则还需要考虑XSS(http://en.wikipedia.org/wiki/Cross-site_scripting)。 同样,在实际情况下,我将分割一个更复杂的令牌,并确保在输入值中处理多个回车符。

编辑:既然我看到了您的实际需求,此代码可能会满足您的要求:

// replace newlines with a single whitespace
string text = textBox1.Text.Replace(Environment.NewLine, " "); 

编辑#2:

此外,我需要将此数据输入SQLite并重写他的整个应用程序,该公司不希望将previos应用程序中的信息输入到新数据库中,其中包含超链接等,因此,如果可以的话,使文本框仅接受RAW数据,这将是最好的。

正则表达式是执行此类操作的方法,除非数据的结构足以加载到XML或HTML DOM和流程中。 您可以使用多种工具构建正则表达式(通过Google搜索免费的在线测试仪,您会发现很多)。 一旦确定了所需的表达式,就可以在C#中使用Regex对象进行匹配,替换等。

http://msdn.microsoft.com/en-us/library/ms228595(VS.80).aspx

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace(v=VS.100).aspx

就目前而言,“ TOKEN”只是一个无意义的字符串,除非它在代码中的其他地方? 您可以将“ TOKEN”替换为您喜欢的任何文本。

编辑:

好的,所以您说要从客户的文本中删除NewLine。 所以你会这样做。 将他们的文本粘贴到名为textBox2的文本框中,然后使用以下命令:

textBox2.Text = textBox2.Text.Replace(Environment.NewLine,string.Empty);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM