C# 如何清理删除特定字符的字符串?

C# 如何清理删除特定字符的字符串?,c#,C#,我有这个字符串: 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
其中包含以下字符:

我想删除此字符,所以我尝试:

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

但是不起作用,我得到了字符串的所有字符。我期待着这样的结果:
邮政信箱162,昆士兰州弗尼山4055布里斯班

您可以这样尝试,通过拆分和修剪字符串来删除空格,并通过换行将它们连接回来

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

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


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

那么您想替换字符串中的新行吗?请尝试
。替换(System.Environment.NewLine,“,”)
新行,并且空间太长代码的确切输出是什么?它应该可以很好地替换换行符。@DavidG我得到:POBox162,fernyhillsqld4055brisbane我正在尝试减少空间,因为太长了。您可以尝试
拆分字符串,然后修剪每一行,然后将它们连接起来。你假设源文本使用的是
环境。NewLine
,并且不是来自另一个可能是任何东西的源。@DavidG,嗯,我想soI的意思是,这可能很好,但我认为dupe更全面地涵盖了答案。