繁体   English   中英

从字符串中删除多个值c#

[英]Remove multiple values ​from a string c#

我有一个字符串示例:

#5/r/n#12/r/n#23/r/n#43/r/n#54/r/n#23/r/n#77/r/n

我需要将这些值传递给一个列表并获取#和/r/n之间的值

到目前为止,我有以下代码:

List<string> result = Regex.Split(String, @"/r/n").ToList();

这将每个值分开,留下 #, 如何从列表中删除 #, 到每个值?

您可以使用LINQ在一行中完成此操作:

List<string> result = Regex.Split(String, @"/r/n").Select(s => s.Replace("#", "")).ToList();

您可以使用修剪功能从字符串的前端和末尾删除特殊字符。

myString.Trim( new Char[] { '#', ' '} )

也可以使用字符串 null 或空操作符来清理任何空字符串:

List<string> result = Regex.Split(myString, @"/r/n").Select(a => a.Trim(new Char[] { '#', ' ' })).Where(b => !String.IsNullOrEmpty(b)).ToList();

您可以使用修剪

char[] charsToTrim = { '#' };


List<string> result = Regex.Split(String, @"/r/n").
                      .Select(x => x.Trim(charsToTrim))
                      .ToList();

您也可以在 # 上拆分并修剪另一个。 这是有道理的。

我相信 Trim 会比 Replace 更快——但我没有测试它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM