How to sanitize a string removing specific character?
我有这根绳子:
1 2 3
| PO Box 162, Ferny Hills
QLD 4055
Brisbane |
其中包含以下字符:
我想删除这些字符,所以我尝试:
1 2 3 4 5
| info.Address = dd[i].InnerText
.Replace("
","")
.Replace("","")
.Replace(",",","); |
但不起作用,我得到了所有的字符串附加。我期待这个结果:PO Box 162, Ferny Hills QLD 4055 Brisbane。
- 所以您想替换字符串中的新行吗?
- 试试.Replace(System.Environment.NewLine,",")。
- 新行,空间太长
- 您从代码中得到的确切输出是什么?它应该很好地替换换行符。
- @大卫:博克斯162号,费尔尼希尔斯克尔德4055里斯本
- 在这种情况下,请参见副本。
- 尝试使用.Replace(" ",""),其中第一个字符串是2个空格,第二个字符串是1。
- @在3个或更多的空间里是行不通的。
- 如果s是文本,则使用regex.replace(regex.replace(s,"[]2,","",regexopions.multiline),""
",",regexopions.multiline);
- string result = Regex.Replace(original.Replace(",",","), @"\s{2,}","").Replace(" ,",",");
- @大卫,你说得对。
- @用户1515791不复制/粘贴其他问题的答案;而是将此问题标记为重复。
- @塞巴斯蒂安霍夫曼,这里的多行部分是有用的,我希望…我在另一个问题中没有看到。(我没有复制任何东西)
- @大卫:我很抱歉给你添麻烦。
- @dmitrybenko没问题,希望我们都能在这里找到同样的东西-每个人都有高质量的内容:)
好吧,你把所有空白都换成了空白(.Replace("",""))。你期待什么?现在你所有的空白都不见了。
如果你不想那样做,就不要这样做。
- 我想缩小空间,因为太长了
- 您可以尝试使用Split您的字符串,然后修剪每一行,然后将它们连接起来。
您可以这样做,方法是拆分和修剪字符串以删除空格并用换行符将它们重新连接起来。
1 2 3
| var address = dd [i ].InnerText.Split(new[] { Environment .NewLine })
.Select(s => s .Trim());
info .Address = String.Join(Environment .NewLine, address ); |
- 您假设源文本使用的是Environment.NewLine,而不是来自其他可能是任何内容的源。
- @大卫,嗯,我想是的。
- 我的意思是,这可能很好,但我认为重复的答案更全面。