用分号

时间:2017-04-24 02:54:12

标签: c# html sql-server

我有一个HTML Textarea,我希望将它转换为单行字符串,并以分号作为分隔符。

例如,我在HTML Textarea中有一个员工编号列表:

-------------
|100000001  |
|100000002  |
|100000003  |
|100000004  |
|100000005  |
|100000006  |
|100000007  |
|100000008  |
|100000009  |
|100000010  |
-------------

我希望将它转换为单行字符串并用分号替换新行并将其传递给变量。

应该是这样的:

;100000001;100000002;100000003;100000004;100000005;100000006;100000007;100000008;100000009;100000010

我怎样才能做到这一点?

或者您还有其他建议使用的内容而不是HTML Textarea,用户可以在其中输入员工编号列表并允许从剪贴板粘贴值。

非常感谢任何建议。提前谢谢。

3 个答案:

答案 0 :(得分:1)

如果你想在sql server中那么

select convert(varchar,EmployeeNumber)+';' from EmployeesTable for xml path('')

如果您尝试使用c#,那么

txtMyTextBox.Text = string.Join(";", txtMyTextBox.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries));

答案 1 :(得分:1)

您可以在C#中执行此操作:

 var result = yourText.Replace("\r\n", ";").Replace("\r", ";").Replace("\n", ";");

答案 2 :(得分:0)

如果你需要在SQL本身生成这个,那么你可以在SUBSTRINGLEN函数的帮助下这样做。

Create table sample(
data varchar(max)
)

insert into sample
values(10000010),
(10000020),
(10000030),
(10000040),
(10000050),
(10000060),
(10000070),
(10000080)

declare @temp varchar(max)
declare @temp2 varchar(max)
set @temp = ''
select @temp = @temp + data + '; ' from sample

select SUBSTRING(@temp,0,LEN(@temp))