多行文本框到字符串

时间:2010-11-21 01:08:33

标签: c#

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

string textBoxValue = textBox1.Text.Replace(Environment.NewLine,“TOKEN”);

但是不明白TOKEN什么是TOKEN?空格或/换行? 如果这是错误的答案,请告诉我这样做的正确方法

由于

2 个答案:

答案 0 :(得分:1)

在您提供的代码段中,“TOKEN”是您要插入的任何值,例如HTML <br />标记,更多Environment.NewLine用于格式化,或者只是稍后的某个随机分隔符允许你拆分文本。

非常简单示例:

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

如果您正在处理来自网络上可用文本框的输入,则还需要考虑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

答案 1 :(得分:0)

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

编辑:

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

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