【问题标题】:How to sanitize a string removing specific character? [duplicate]如何清理删除特定字符的字符串? [复制]
【发布时间】:2018-12-04 04:41:17
【问题描述】:

我有这个字符串:

PO Box 162, Ferny Hills
QLD 4055
Brisbane

其中包含这些字符:

我想删除这个字符,所以我尝试了:

info.Address = dd[i].InnerText
                    .Replace("\n", " ")
                    .Replace(" ", "")
                    .Replace(",", ", ");

但没有用,我得到了附加字符串的所有字符。我期待这个结果:PO Box 162, Ferny Hills QLD 4055 Brisbane

【问题讨论】:

  • 所以你想替换你的字符串中的新行?
  • 试试.Replace(System.Environment.NewLine, ", ")
  • 换行,空格太长
  • 您从代码中得到的确切输出是什么?它应该可以很好地替换换行符。
  • @DavidG 我得到:POBox162,FernyHillsQLD4055Brisbane

标签: c#


【解决方案1】:

好吧,您将所有空白都替换为空(.Replace(" ", ""))。你期待什么?现在你所有的空白都消失了。

如果你不想这样做,就不要这样做。

【讨论】:

  • 我正在尝试减少空间,因为太长了
  • 你可以尝试Split你的字符串,然后修剪每一行,然后将它们连接起来。
【解决方案2】:

您可以尝试这样,通过拆分和修剪字符串以删除空格并通过换行符将它们重新加入

var address = dd[i].InnerText.Split(new[] { Environment.NewLine })
                    .Select(s => s.Trim());    
info.Address = String.Join(Environment.NewLine, address);

【讨论】:

  • 您假设源文本使用的是Environment.NewLine,并且不是来自其他可能的来源。
  • @DavidG,嗯,这么想
  • 我的意思是,这可能没问题,但我认为骗子涵盖的答案更全面。
猜你喜欢
  • 2019-11-11
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-23
  • 2011-08-21
相关资源
最近更新 更多