【问题标题】:Replace new line in HTML Textarea with semicolon用分号替换 HTML Textarea 中的新行
【发布时间】:2017-04-24 12:49:06
【问题描述】:

我有一个 HTML 文本区域,我想将其转换为单行字符串,以分号作为分隔符。

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

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

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

应该是这样的:

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

我怎样才能做到这一点?

或者您有什么可以推荐的,而不是 HTML Textarea,用户可以在其中输入员工编号列表并允许从剪贴板粘贴值。

任何建议将不胜感激。提前致谢。

【问题讨论】:

  • ;替换行尾(\r\n, \n
  • 你想用 SQL 还是 c# 来做?
  • @Krishna C# ...
  • @theo: 好家伙...

标签: c# html sql-server


【解决方案1】:

你可以在 C# 中做到这一点:

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

【讨论】:

    【解决方案2】:

    如果你想在 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));
    

    【讨论】:

      【解决方案3】:

      如果您需要在 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))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-02-22
        • 1970-01-01
        • 1970-01-01
        • 2013-03-22
        • 2016-12-04
        • 2013-08-26
        • 2014-07-27
        相关资源
        最近更新 更多