我想在拆分操作中删除空字符串和空字符串:
string number = "9811456789, ";
List<string> mobileNos = number.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(mobile => mobile.Trim()).ToList();
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但这并没有删除空白项
ars*_*ars 11
据我了解,它可以对您有所帮助;
string number = "9811456789, ";
List<string> mobileNos = number.Split(',').Where(x => !string.IsNullOrWhiteSpace(x)).ToList();
Run Code Online (Sandbox Code Playgroud)
结果列表中只有一个元素为 [0] = "9811456789"。
希望对你有帮助。
var mobileNos = number.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)
.Select(mobile => mobile.Trim()).Where(s => s != string.Empty).ToList();
Run Code Online (Sandbox Code Playgroud)
要么
var mobileNos = number.Replace(" ", "")
.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
Run Code Online (Sandbox Code Playgroud)
字符串扩展可以以简洁的方式完成此操作,如下扩展:
public static IEnumerable<string> SplitAndTrim(this string value, params char[] separators)
{
Ensure.Argument.NotNull(value, "source");
return value.Trim().Split(separators, StringSplitOptions.RemoveEmptyEntries).Select(s => s.Trim());
}
Run Code Online (Sandbox Code Playgroud)
然后你可以将它与任何字符串一起使用,如下所示
char[] separator = { ' ', '-' };
var mobileNos = number.SplitAndTrim(separator);
Run Code Online (Sandbox Code Playgroud)
最简单和最好的解决方案是使用两者StringSplitOptions.TrimEntries来修剪结果并StringSplitOptions.RemoveEmptyEntries删除通过管道运算符 ( |) 输入的空条目。
string number = "9811456789, ";
List<string> mobileNos = number
.Split(',', StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries)
.ToList();
Run Code Online (Sandbox Code Playgroud)
查看下面的测试结果来比较每个选项的工作原理,
小智 5
我知道这是一个老问题,但以下方法效果很好:
string number = "9811456789, ";
List<string> mobileNos = number.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();
Run Code Online (Sandbox Code Playgroud)
不需要扩展方法或任何东西。
| 归档时间: |
|
| 查看次数: |
8450 次 |
| 最近记录: |