2014-09-11 182 views
0

我无法修剪给定字符串的所有空格(选项卡等)。我尝试了一些推荐的解决方案,但还没有任何运气。修剪字符串数组中的所有字符串

例如

["7 ", " +", "1", "/" "0""] 

需要返回

["7","+","1","/","0"] 

另一个方面要考虑的是

string[] substrings = Regex.Split(exp, "(\\()|(\\))|(-)|(\\+)|(\\*)|(/)"); 

也必须使用,我的工作在传递串。

+1

一个简单的循环怎么样?这不是那种需要“推荐解决方案”的任务。 – zerkms 2014-09-11 03:23:28

+1

你不能用简单的'for'和'Trim'来循环它们吗? – Mephy 2014-09-11 03:23:32

+0

为什么必须显示正则表达式“被考虑”? – user2864740 2014-09-11 03:42:13

回答

2

您coud使用Linq:

var a = new string[]{"7 ", " +", "1", "/", null, "0"}; 
var b = a.Select(x => x == null? null: x.Trim()).ToArray(); 

或做就地申请Trim的每个元素。


另一个方面要考虑的是...

这不是问题的第一版,和Regex没有在回答考虑。

+2

好,但OP不会从中学习。 – zerkms 2014-09-11 03:24:48

+0

LINQ很漂亮,但是“在一个字符串数组中”可能意味着他想要改变数组。 – Mephy 2014-09-11 03:25:39

+0

'.Where(x =>!string.IsNullOrEmpty(x))。Select(x => ...' – slugster 2014-09-11 03:27:58

-1

你也可以使用Linq。

string text = "My text with white spaces..."; 
text = new string(text.ToList().Where(c => c != ' ').ToArray());